[Java] 어댑터 패턴 (Adapter pattern)

2023. 3. 27. 19:27·Java/Design Pattern
728x90
728x90

어댑터 패턴 (Adapter pattern)

  - 호환되지 않는 클래스들을 함께 이용할 수 있도록 타 클래스의 인터페이스를 기존 인터페이스에 덧씌움
  - 기존의 클래스를 재사용할 수 있도록 중간에서 맞춰주는 역할을 하는 인터페이스를 생성함

      ⇒ 인터페이스를 이용하면 코드를 좀 더 유연하게 설계할 수 있음

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// 어댑터 패턴 설정
public class TencoAdapter implements Electronic220v { 
 
    // 호환시킬 인터페이스를 멤버 변수로 받음
    Electronic110v electronic110v; 
    
    // 호환시킬 인터페이스를 생성자 매개변수로 받아서 멤버 변수 초기화
    public TencoAdapter(Electronic110v electronic110v) {
        this.electronic110v = electronic110v;
    }
    
    @Override
    public void connect() {
        electronic110v.connect();
    }
 
}
Colored by Color Scripter
cs

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public class MyHouse {
    
    public static void main(String[] args) {
        
        // Electronic110v 인터페이스를 구현한 Nintendo
        Nintendo nintendo = new Nintendo();
        
        // 어댑터 패턴이 구현된 객체
        TencoAdapter adapterNintendo = new TencoAdapter(nintendo);
        
        // Electronic110v 인터페이스인 Nintendo를
        // Electronic220v 인터페이스를 매개변수로 받는 connect 메서드에 사용 가능
        connect(adapterNintendo);
        
    } // end of main
    
    public static void connect(Electronic220v electronic220v) {
        electronic220v.connect();
    }
    
} // end of class
Colored by Color Scripter
cs
320x100
반응형
저작자표시 비영리 변경금지 (새창열림)

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

[Java] 전략 패턴 (Strategy pattern)  (0) 2023.04.11
[Java] 싱글톤 패턴 (Singleton pattern)  (0) 2023.04.10
[Java] 디자인 패턴 정리  (0) 2023.03.27
[Java] 빌더 패턴 (Builder pattern)  (0) 2023.03.23
[Java] 템플릿 메서드 패턴 (Template Method pattern)  (0) 2023.02.11
'Java/Design Pattern' 카테고리의 다른 글
  • [Java] 전략 패턴 (Strategy pattern)
  • [Java] 싱글톤 패턴 (Singleton pattern)
  • [Java] 디자인 패턴 정리
  • [Java] 빌더 패턴 (Builder pattern)
스응
스응
    반응형
    250x250
  • 스응
    이서영의 개발 블로그
    스응
  • 전체
    오늘
    어제
  • 글쓰기 관리
    • 분류 전체보기 (385)
      • Java (134)
        • Base (54)
        • Spring Boot (37)
        • JSP (16)
        • Swing (GUI) (20)
        • Design Pattern (7)
      • C# (13)
      • PHP (18)
      • SQL (27)
      • Vue.js (9)
      • Tailwind CSS (4)
      • TypeScript (7)
      • HTML & CSS (27)
      • JavaScript (26)
      • jQuery (10)
      • Android (3)
      • - - - - - - - - - - - - - - (0)
      • Hotkeys (5)
      • CS (30)
      • IT Notes (13)
      • Error Notes (17)
      • Team Project (24)
        • Airlines Web Project (12)
        • University Web Project (6)
        • Strikers 1945 GUI Project (6)
      • My Project (18)
        • Library Web Project (8)
        • Pet Shopping Mall GUI Project (10)
      • etc. (0)
  • 블로그 메뉴

    • Home
    • Write
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    SEO
    js
    Hotkeys
    SWAGGER
    zapier
    git
    티스토리챌린지
    vuejs
    면접
    C#
    tailwindcss
    개발일지
    php
    CSS
    typeScript
    http
    SpringBoot
    Wordpress
    Codeigniter
    HTML
    java
    오블완
    errorNote
    jQuery
    jsp
    Android
    SQL
    cs
    Swing
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.0
스응
[Java] 어댑터 패턴 (Adapter pattern)
상단으로

티스토리툴바