Motivation
- 어댑터 패턴은 클래스와 객체간의 어댑팅임
- 리얼 월드에서의 어댑터 처럼 어댑터는 인터페이스 로서 두 객체를 연결함
- 메모리 카드를 컴퓨터에 바로 못 꼽으면? 중간에 어댑터를 쓰자!
- 두 객체를 연결해 쓰고 싶으면? 중간에 어댑터를 쓰자!
Intent
- 클래스의 인터페이스를 클라이언트가 사용할 수 있는 인터페이스로 바꿔주자.
- 어댑터는 인터페이스가 달라 work together 할 수 없는 클래스들을 work together하게 해줌.
Implementation

- 타겟= 컴퓨터의 USB 구멍
- 어뎁터 = 어뎁터
- 어뎁티 = 메모리카드
- 클라이언트 = 나
Applicablity
이럴때 어뎁터 패턴을 쓰자
- 두 클래스를 연결하고 싶을때
Examples
- Wrapper 클래스
Specific problems & Implementation
Object Adapters - Based on Delegation
Class Adaptors - Based on (multiple) Inheritance

어댑터 패턴 + 전략 패턴
같은 클래스를 연결하는 어댑터를 여러방식으로 제공해서 전략 패턴에 따라 갈아 끼울 수 있다.