오답노트
[Java] 어댑터 패턴 본문
어댑터 패턴
서로 다른 두 클래스를 연결하는 클래스를 만들어 주는 패턴이다.
A 인터페이스를 사용하는 클래스 (이하 A 클래스)에 B 인터페이스를 사용하는 클래스(이하 B 클래스)를 연결하고 싶다면
A 인터페이스를 사용하는 클래스를 만들고 생성자 인자로 B 인터페이스를 받는 클래스를 만들어 A 인터페이스를 Override하여 사용하면된다.
인터페이스
public interface Electronic110V {
void poewrOn();
}
public interface Electronic220V {
void connect();
}
인터페이스를 사용하는 클래스
public class AirConditioner implements Electronic220V{
@Override
public void connect() {
System.out.println("에어컨 220V");
}
}
public class HairDryer implements Electronic110V{
@Override
public void poewrOn() {
System.out.println("헤어드라이기 110V");
}
}
어댑터 패턴을 적용한 클래스
public class SocketAdapter implements Electronic110V {
private Electronic220V electronic220V;
public SocketAdapter(Electronic220V electronic220V){
this.electronic220V = electronic220V;
}
@Override
public void poewrOn() {
electronic220V.connect();
}
}
실행
public class Main {
public static void main(String[] args) {
HairDryer hairDryer = new HairDryer();
connect(hairDryer);
AirConditioner airConditioner = new AirConditioner();
Electronic110V airAdapter = new SocketAdapter(airConditioner);
connect(airAdapter);
}
public static void connect(Electronic110V electronic110V){
electronic110V.poewrOn();
}
}
'Java > 디자인패턴' 카테고리의 다른 글
[Java] 파사드 패턴 (0) | 2023.07.12 |
---|---|
[Java] 옵저버 패턴 (0) | 2023.07.12 |
[Java] 프록시 패턴 (0) | 2023.07.11 |
[Java] 데코레이터 패턴 (0) | 2023.07.11 |
[Java] static 변수와 싱글턴 패턴 (0) | 2023.07.08 |