HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
📝
남득윤 학습 저장소
/
객체 지향 프로그래밍
객체 지향 프로그래밍
/
디자인 패턴
디자인 패턴
/
Adapter Pattern
Adapter Pattern
Adapter Pattern

Adapter Pattern

Motivation

  • 어댑터 패턴은 클래스와 객체간의 어댑팅임
  • 리얼 월드에서의 어댑터 처럼 어댑터는 인터페이스 로서 두 객체를 연결함
  • 메모리 카드를 컴퓨터에 바로 못 꼽으면? 중간에 어댑터를 쓰자!
  • 두 객체를 연결해 쓰고 싶으면? 중간에 어댑터를 쓰자!

Intent

  • 클래스의 인터페이스를 클라이언트가 사용할 수 있는 인터페이스로 바꿔주자.
  • 어댑터는 인터페이스가 달라 work together 할 수 없는 클래스들을 work together하게 해줌.

Implementation

notion image
  • 타겟= 컴퓨터의 USB 구멍
  • 어뎁터 = 어뎁터
  • 어뎁티 = 메모리카드
  • 클라이언트 = 나

Applicablity

이럴때 어뎁터 패턴을 쓰자
  • 두 클래스를 연결하고 싶을때

Examples

  • Wrapper 클래스
 

Specific problems & Implementation

 
Object Adapters - Based on Delegation
Class Adaptors - Based on (multiple) Inheritance
notion image
 
어댑터 패턴 + 전략 패턴
같은 클래스를 연결하는 어댑터를 여러방식으로 제공해서 전략 패턴에 따라 갈아 끼울 수 있다.