728x90
728x90
어댑터 패턴 (Adapter pattern)
- 호환되지 않는 클래스들을 함께 이용할 수 있도록 타 클래스의 인터페이스를 기존 인터페이스에 덧씌움
- 기존의 클래스를 재사용할 수 있도록 중간에서 맞춰주는 역할을 하는 인터페이스를 생성함
⇒ 인터페이스를 이용하면 코드를 좀 더 유연하게 설계할 수 있음
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | // 어댑터 패턴 설정 public class TencoAdapter implements Electronic220v { // 호환시킬 인터페이스를 멤버 변수로 받음 Electronic110v electronic110v; // 호환시킬 인터페이스를 생성자 매개변수로 받아서 멤버 변수 초기화 public TencoAdapter(Electronic110v electronic110v) { this.electronic110v = electronic110v; } @Override public void connect() { electronic110v.connect(); } } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | public class MyHouse { public static void main(String[] args) { // Electronic110v 인터페이스를 구현한 Nintendo Nintendo nintendo = new Nintendo(); // 어댑터 패턴이 구현된 객체 TencoAdapter adapterNintendo = new TencoAdapter(nintendo); // Electronic110v 인터페이스인 Nintendo를 // Electronic220v 인터페이스를 매개변수로 받는 connect 메서드에 사용 가능 connect(adapterNintendo); } // end of main public static void connect(Electronic220v electronic220v) { electronic220v.connect(); } } // end of class | cs |
320x100
반응형
'Java > Design Pattern' 카테고리의 다른 글
[Java] 전략 패턴 (Strategy pattern) (0) | 2023.04.11 |
---|---|
[Java] 싱글톤 패턴 (Singleton pattern) (0) | 2023.04.10 |
[Java] 디자인 패턴 정리 (0) | 2023.03.27 |
[Java] 빌더 패턴 (Builder pattern) (0) | 2023.03.23 |
[Java] 템플릿 메서드 패턴 (Template Method pattern) (0) | 2023.02.11 |