(디자인 패턴 복습 시리즈) 어댑터 패턴(Adapter pattern)

2023. 2. 4. 23:45컴퓨터 공학

반응형

이번 시간에 복습할 패턴은 어댑터 패턴입니다.

 

어댑터 패턴은 싱글톤과 함께 어디선가 많이 들어본 패턴에 속합니다.(뇌피셜)

 

어댑터 하면 가장 쉽게 떠오르는게 220v를 110v로 변환해주는 어댑터입니다.

일본이나 중국, 영궁을 여행가면 각기 다른 어댑터를 챙겨가는 그런 상황을 생각해보자고요.

 

우리는 일본에서 충전기를 사용하기 위해 새로운 충전기를 가져가거나, 혹은 앞의 플러그 부분을 갈아끼우지 않습니다.

다만 110v용 어댑터를 챙겨가서 사용하죠.

 

 

객체지향에서도 마찬가지입니다.

 

기존의 시스템과 새로 도입해야하는 시스템이 있습니다.

하지만 기존의 시스템과 새로 도입해야하는 시스템이 상호호환이 잘 되지 않는 부분이 있습니다.

 

이런상황에서 우리는 기존의 시스템을 새로 작성하지 않고,

어댑터 패턴을 사용해서 기존의 시스템과 새로운 시스템을 연결합니다.

 

 

이렇게 되면 기존의 시스템을 코드 변화없이 사용할 수 있기 때문에

새로운 시스템을 개발하지 않아도 되고, 새로운 시스템이 변경되더라도 어댑터만 변경하면 되기 때문에

훨씬 유연하게 대처가 가능합니다.

 

 

아래는 예제코드입니다.

 

 

 

 

어댑터에는 두가지 종류가 있습니다.

 

객체 어댑터 그리고 클래스 어댑터.

 

 

위 예제코드에서 사용한 방식은 객체 어댑터 방식입니다.

 

 

클래스 어댑터 방식을 사용하면 두가지 인터페이스를 모두 정의하지 않아도 되기 때문에 이점이 있지만

아쉽게도 다중상속을 지원하는 언어에 한정해서 사용이 가능합니다.

 

그러므로 자바는 클래스 어댑터 방식을 사용할 수 없죠.

 

 

 

반응형