반응형
📌어댑터(Adapter)란?
어댑터(Adapter)를 번역하면 변환기(converter)이다. 변환기의 역할은 서로 다른 두 인터페이스 사이에 통신이 가능하게 하는 것이다. 주변에서 가장 흔히 볼 수 있는 변환기로는 충전기가 있다. 핸드폰을 충전할 때 직접 콘센트에 연결할 수 없기 때문에 충전기가 콘센트와 핸드폰 사이에서 둘을 연결해주는 변환기의 역할을 수행한다.
즉, 어댑터 패턴(Adapter Pattern)은 호출당하는 쪽의 메소드를 호출하는 쪽의 코드에 대응하도록 중간에 변환기를 통해 호출하는 패턴이다.
같은 말이지만 다른 관점으로 본다면 어댑터 패턴(Adapter Pattern)은 이미 구현 되어 있는 객체를 이용하여 다른 기능을 구현하는 패턴이라고도 볼 수 있다.
코드는 가능한 적게 작성하는 것이 좋기 때문에, 이미 구현되어 있는 코드가 있다면 그 코드를 최대한 활용하는 것이 좋다. 코드 중복은 가독성과 유지보수를 떨어지게 하고, 유지보수 비용을 만들어 낸다. 그렇다고 기존의 코드를 규칙 없이 아무렇게나 이용하는 것은 문제가 있다. 객체지향에서 기존에 구현된 코드를 이용하는 방식으로 상속을 이용한다. 하지만 실제로 상속을 통해서 상위 클래스의 기능을 물려 받은 후 하위 클래스로 다른 기능을 구현하는 것은 객체지향에서 지양되고 있다. 이는 다형성을 위배하고, 불필요한 인터페이스를 남용하며, 클래스 간 계층 관계를 이해하는데 혼돈을 주기 때문이다.
반응형
'디자인 패턴' 카테고리의 다른 글
[디자인 패턴] 프록시 패턴(Proxy Pattern) (0) | 2022.03.23 |
---|---|
[디자인 패턴] 싱글톤 패턴(Singleton Pattern) (0) | 2022.03.21 |