일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Spring 웹개발
- ESP32
- 삼성의료원부지
- 아두이노
- ESP-DL
- ListView
- 공릉아파트부지
- 50만호공급
- Spring 웹
- spring
- java programming
- onnxruntime
- C-ITS
- C#
- 리츠주택
- 웹개발
- V2X
- 구체화하기
- WPF
- 아두이노 개발
- SpringBoot
- C-V2X
- Ai
- wave
- 청년원가주택
- DataBinding
- 아두이노라이브러리
- ObjectNode
- http
- 대방동군부지
- Today
- Total
John's 개발자의 관심노트
JAVA Design Pattern, Adapter Pattern 어뎁터 패턴 본문
어댑터 패턴 (Adapter Pattern) 이란 무엇인가?
한 클래스내에서 호환성이 없는 인터페이스를 변환하여 호환성을 갖게 해주는 패턴이다.
클래스내의 인터페이스를 호환하고자하는 다른 인터페이스로 변환 시켜주는 패턴이라고 생각하면된다.
위와 같이 호환성을 맞춰주면, 기존 클래스를 재사용할 수 있는 이점이 있다.
어댑터 패턴(Adapter Pattern)이 필요한 이유!
일상생활에서의 예를 들면, 전원 어댑터를 생각하면된다.
집에서 자주 볼 수 있는 콘센트의 전원은 220V 이고, 우리가 사용하는 여러 가전제품에는 정격전압이라는 규격이 있는데,
어떤 제품은 20V, 어떤 제품은 15V 등으로 다양하게 사용된다.
220V의 전원을 20V, 15V 등으로 변환 시켜 그 호환성을 맞출 수 있도록 해주는 것이 어댑터 패턴(Adapter Pattern) 이다.
Example
220V 의 전원을 20V로 변환 시켜주는 예제를 작성해보려고한다.
먼저 각각 220V 와 20V에 대한 서로다른 인터페이스를 구성하고, 이를 호환시켜주는 어댑터 클래스 작성을 통해,
Main 에서 이를 활용하는 예제다.
220V 인터페이스,
public interface IPower220V {
public void connect();
public void disconnect();
}
20V 인터페이스,
public interface IPower20V {
public void connectTo20V();
public void disconnect();
}
220V 의 전원을 사용하는 클래스 생성
이 클래스를 20V 로 변환 시켜주는 예제를 작성하는 중이니 참고!
public class Power220V implements IPower220V{
@Override
public void connect(){
System.out.println("Power is connected");
}
@Override
public void disconnect(){
System.out.println("Power is disconnected");
}
}
220V 의 전원을 20V로 변환 시켜주는 Adapter Class,
public class Adapter220Vto20V implements IPower20V {
private IPower220V power;
public Adapter220Vto20V(IPower220V power){
this.power = power;
}
@Override
public void connectTo20V(){
System.out.println("Power is converted to 20V");
}
@Override
public void disconnect(){
System.out.println("Power is disconnected from 20V");
}
}
Main 에서 사용 예시!
public class Main{
public static void main(String[] args){
Power220V power220V = new Power220V();
power220V.connect();
// 220V 의 파워를 20V 로 변환!
Adapter220Vto20V adapter220Vto20V = new Adapter220Vto20V(power220V);
adapter220Vto20V.connectTo20V();
adapter220Vto20V.disconnect();
power220V.disconnect();
}
}
위와 같이 작성 후, 빌드 및 실행을 해보면 아래와 같은 결과값을 확인할 수 있다.
Reference to,
어댑터 패턴 - 위키백과, 우리 모두의 백과사전
위키백과, 우리 모두의 백과사전.
ko.wikipedia.org
개인적으로 이해한 내용을 바탕으로 한 글이므로 잘못된 부분이 있다면 다양한 의견 부탁드립니다.
'[개발] > Spring WEB' 카테고리의 다른 글
HTTP Protocol Test 프로그램 사용법 "Talend API Tester" (0) | 2022.10.14 |
---|---|
JAVA Design Pattern, Strategy Pattern, 전략 패턴 (2) | 2022.10.14 |
JAVA Design Pattern, Facade Pattern 파사드 패턴 (0) | 2022.10.13 |
JAVA Design Pattern, Proxy Pattern 프록시 패턴 (0) | 2022.10.12 |
JAVA Design Pattern, Singleton Pattern 싱글톤 패턴 (0) | 2022.10.12 |