<aside> 💡 하나의 인터페이스를 클라이언트가 요구하는 다른 인터페이스로 변환할때 사용
</aside>
Class Adapter & Object Adapter
참여자 | 역할 | 예시 |
---|---|---|
Target | 사용자가 사용할 응용 분야에 종속적인 인터페이스를 정의하는 클래스 | Duck 클래스(인터페이스) |
Client | 인터페이스를 만족하는 객체와 동작할 대상 | Turkey가 Duck처럼 동작하길 기대하는 대상 |
Adaptee | 인터페이스의 적응이 필요한 기존 인터페이스를 정의하는 클래스 (적응 대상자) | Turkey 클래스(인터페이스) |
Adapter | Target 인터페이스에 Adaptee의 인터페이스를 적응시키는 클래스 | Duck 클래스에 맞춰 Turkey 클래스(인터페이스)를 변환해줌 |