[Design Pattern] 어댑터 패턴 (Adapter Pattern)

2025. 4. 9. 23:30·Design Pattern

1. 어댑터 패턴

💠 어댑터(Adaptor) 패턴 - 완벽 마스터하기

어댑터 패턴은

기존 시스템에서 새로운 라이브러리를 추가할 때

호환될 수 있도록 중간 레이어 클래스를 만드는 작업을 말한다.

 

2. 어댑터 패턴 예제

💠 어댑터(Adaptor) 패턴 - 완벽 마스터하기

상황 1

  • SortingMachine 클래스는 ISortEngine 인터페이스를 의존하여 A_SortEngine을 사용해 왔다.
  • 그러다 성능 문제로 인하여 타 회사(B)의 엔진으로 교체 결정을 하게 되었다.

 

상황 2

  • 타 회사(B)로부터 전달받은 B_SortEngine을 가져왔으나 기존 코드와 호환되지 않았다.
  • 기존 코드에서 작동되도록 B_SortEngine 코드를 수정해볼까 생각하였으나 이는 원본 코드를 훼손할 뿐더러 어느 정도의 시간이 걸릴지 예측할 수 없었다.

 

해결 방안

  • 기존의 코드에서 사용하는 ISortEngine 인터페이스를 구현한 중간 클래스를 만든다.
  • 중간 클래스는 B_SortEngine을 소유한다. (컴포지션 관계)
  • 기존의 코드에서 중간 클래스(ISortEngine 인터페이스)를 호출할 때 연관된 소유한 B_SortEngine 함수를 호출하도록 구현한다.

 

정리

  • 중간 클래스를 만들어 기존의 코드와 B_SortEngine이 호환되도록 구현하였다.
  • 이렇게 구현한 패턴을 어댑터 패턴이라고 한다.

 

참고

💠 어댑터(Adaptor) 패턴 - 완벽 마스터하기

'Design Pattern' 카테고리의 다른 글

[Design Pattern] 퍼사드 패턴 (Facade)  (0) 2025.04.11
[Design Pattern] 프록시 패턴 (Proxy Pattern)  (0) 2025.04.10
[Design Pattern] 팩토리 패턴 (Factory Pattern)  (0) 2025.04.08
[Design Pattern] 반복자 패턴 (Iterator Pattern)  (0) 2025.04.07
[Design Pattern] 템플릿 메서드  (0) 2025.04.04
'Design Pattern' 카테고리의 다른 글
  • [Design Pattern] 퍼사드 패턴 (Facade)
  • [Design Pattern] 프록시 패턴 (Proxy Pattern)
  • [Design Pattern] 팩토리 패턴 (Factory Pattern)
  • [Design Pattern] 반복자 패턴 (Iterator Pattern)
DevColIn
DevColIn
복잡함을 단순하게
  • DevColIn
    심플한 코딩생활
    복잡함을 단순하게
  • 전체
    오늘
    어제
    • 전체보기 (223)
      • Unreal 부트캠프 (49)
        • TIL (34)
        • 사전캠프 (7)
        • 본캠프 (8)
      • Unrael (10)
        • 환경설정 (0)
        • Basic (19)
        • Component (5)
        • GAS (GameplayAbilitySystem) (3)
        • AI (2)
        • Implement (10)
        • UI (1)
        • Error (1)
        • Network (2)
        • Tip (1)
      • Level Design (5)
      • Math (1)
      • Design Pattern (16)
      • Computer Science (2)
        • Network (1)
        • Database (1)
      • Algorithm (79)
        • Basic (4)
        • Practice (74)
      • C++ (4)
        • Basic (4)
      • Tool (0)
      • Game (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Til
    액터
    assetmanager
    component
    Design Pattern
    Animation
    basic
    c++
    소프트 레퍼런신
    디자인 패턴
    unrealengine
    디자인패턴
    Algorithm
    tsoftobjectptr
    퀘스트
    내일배움캠프
    본캠프
    게임동기화
    AI
    actor
    Implement
    gas
    GameplayEffect
    DesignPattern
    사전캠프
    레벨디자인
    하드 레퍼런싱
    KPT회고
    알고리즘
    unreal
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.2
DevColIn
[Design Pattern] 어댑터 패턴 (Adapter Pattern)
상단으로

티스토리툴바