어댑터 패턴
- 구조패턴(Structural Pattern)
- 클래스의 인터페이스를 사용자가 기대하는 다른 인터페이스로 변환하는 패턴.
- 호환성 문제 때문에 함께 동작할 수 없는 클래스들을 함께 동작할 수 있도록 한다.
어댑터 패턴 예시
- client는 target 인터페이스를 사용하여 메서드를 호출한다.
- adapter에서는 adaptee인터페이스를 사용하여 concreteMethod를 호출로 변경한다.
이때 client는 중간에 adapter가 존재한다는 것을 인식하지 못한다.
어댑터 패턴 구성
- Target: 기준이 되는 클래스
- Client: Target 클래스를 사용하는 주체
- Adaptee: Adapter를 적용하여 Target클래스로 변환되는 클래스
- Adapter: Adaptee클래스를 Target클래스로 변환시켜주는 클래스
어댑터 패턴 특징
- 클래스의 재사용성이 증가한다.
- 상속받은 클래스의 메서드를 다시 구현해야 하기 때문에 코드의 양이 증가한다.