CS/디자인패턴
어댑터(Adapter) 패턴
rkrkrr0101
2024. 7. 20. 01:28
어댑터 패턴은 서로 상호호환되지않는 클래스들을,중간 인터페이스를 거쳐가게해서 서로 호환이 되게만드는 패턴임
래퍼와 같은말임
예를들면 스피커의 슈퍼클래스를 구현한 서브클래스를 만들고,그안에서 스마트폰을 만들거나 합성한다음 스피커의 오버라이드 메서드에 스마트폰의 메서드를 넣는식
이건 기본적으로 인터페이스의 하나의 메서드와 각 클래스들의 각각 하나의메서드를 1대1매칭시키는방식이고,매칭이 되지않으면 예외를 던지면됨
즉,어댑터 패턴은 특정 클래스 인터페이스를 클라이언트에서 요구하는 다른 인터페이스로 변환하는 패턴,이를통해 인터페이스가 호환되지않아 같이쓸수없던 클래스를 쓸수있게 도와줌
추가적으로 어댑터에는 객체어댑터와 클래스어댑터가 있는데,클래스어댑터는 다중상속을 해야하기때문에 요즘언어에선 사용하기어려움(별차이도없음)