여러가지 디자인 패턴 - Adaptor Pattern (어댑터 패턴)

이진석·2022년 9월 7일
2
post-thumbnail

20220907

한 번에 끝내는 Java/Spring 웹 개발 마스터


1) Electronic110V

package com.company.design.adaptor;

public interface Electronic110V {

    void powerOn();
}

2) Electronic220V

package com.company.design.adaptor;

public interface Electronic220V {

    void connect();
}

3) HairDryer

package com.company.design.adaptor;

public class HairDryer implements Electronic110V {

    public void powerOn() {
        System.out.println("헤어 드라이기 110v on");
    }
}

4) Cleaner

package com.company.design.adaptor;

public class Cleaner implements Electronic220V {
    @Override
    public void connect() {
        System.out.println("청소기 220v on");
    }
}

5) SocketAdaptor

package com.company.design.adaptor;

import com.company.design.singleton.SocketClient;

public class SocketAdaptor implements Electronic110V {

    private Electronic220V electronic220V;

    public SocketAdaptor(Electronic220V electronic220V) {
        this.electronic220V = electronic220V;
    }
    @Override
    public void powerOn() {
        electronic220V.connect();
    }
}

  • 이해하기 쉽게 110v로 작동하는 가전기구와 220v로 작동하는 가전기구 2개를 나누어서 220v짜리를 사용하는 기구가 110v기구를 사용하려면 전압변환기가 필요하다는 것을 예시로 들었다.
  • SocketAdaptor부분을 통해서 110v를 implements받고 220v를 실행하게 하여 문제를 해결하는 방식이었다.
profile
혼자서 코딩 공부하는 전공생 초보 백엔드 개발자 / https://github.com/leejinseok0614

0개의 댓글