inblog logo
|
LHS's Study Space
    디자인패턴

    [디자인 패턴] 6. 어댑터 패턴

    lhs's avatar
    lhs
    Nov 13, 2024
    [디자인 패턴] 6. 어댑터 패턴
    Contents
    1. 정의2. 예제 코드3. 정리
    💡
    어댑터패턴은 기존 코드를 새로운 코드에 맞추는 기법이다.
     

    1. 정의

    어댑터 패턴(Adapter Pattern)은 구조 패턴(Structural Pattern) 중 하나로, 호환되지 않는 인터페이스를 가진 두 객체를 연결할 수 있도록 해주는 디자인 패턴이다. 즉, 기존 클래스의 인터페이스를 클라이언트가 기대하는 인터페이스로 변환해 주어, 서로 호환되지 않는 시스템들이 상호작용할 수 있게 해주는 역할을 한다.

    2. 예제 코드

    // 못 건드리는 외부 라이브러리 public class OuterTiger { private String fullname = "호랑이"; public String getFullname() { return fullname; } }
    OuterTiger.java
     
    // OuterTiger와 Cat, Mouse등과의 이질적인 것을 Animal로 동일하게 맞추는 역할 public class TigerAdapter extends Animal { private OuterTiger outerTiger; public TigerAdapter(OuterTiger outerTiger) { this.outerTiger = outerTiger; } @Override public String getName() { return outerTiger.getFullname(); } }
    TigerAdapter.java

    3. 정리

    • OuterTiger 클래스
      • 외부에서 제공하는 호랑이 클래스이다.
      • getFullnam() 메서드를 통해 이름을 반환한다.
      • 직접 상호작용할 수 없어, 이를 어댑터 패턴을 통해 호환 가능한 인터페이스로 변환해야 한다.
    • TigerAdapter 클래스
      • OuterTiger 클래스의 인터페이스를 Animal 인터페이스로 변환하여 호환성을 맞추는 어댑터이다.
      • OuterTiger 객체를 내부에 가지고 있어, getName() 메서드에서 OuterTiger의 getFullname() 메서드를 호출해 이름을 반환한다.
    Share article
    Contents
    1. 정의2. 예제 코드3. 정리

    LHS's Study Space

    RSS·Powered by Inblog