래퍼(어댑터) 패턴

노트 유형: Cloze

Text

래퍼 패턴(GoF 책에서의 이름: {{c1::어댑터}} 패턴): 기존 클래스를 다른 클래스로 감싸 원하는 시그니처로 바꿔 제공 — 감싸는 방식은 {{c2::컴포지션}}(기존 클래스의 개체를 멤버 변수로)

  • 용도: {{c3::코드를 직접 수정할 수 없는 클래스(남의 라이브러리)를 커스터마이징}}하거나 {{c4::기능을 추가}}할 때
  • 핵심 이득: 내부 구현(라이브러리)을 교체해도 {{c5::래퍼 내부만 수정하면 되고 클라이언트 코드는 바뀌지 않음}}

Back Extra

출처: https://pocu-site.pages.dev/pocu-note/COMP2500/012-design-patterns/012-011-wrapper-pattern/