상속에 의한 Adapter 패턴 - 가장 기본이 되는 클래스를 중심으로 클래스를 확장하는 방법으로 인터페이스로 구현하는 방식, 어쩌면 클래스 확장에 있어 가장 기본이 되는 디자인 패턴인듯 싶다.
플래시에서도 가장 쉽게 적용되는 방식이다.
*Adaptee – Banner Class
접합하는 측이 아니라 접합되는 측. 이미 준비되어있는 메소드를 가지고 있는 역할.
public class Banner{ private String string; public Banner(String string){ this.string=string; } public void showWithParen(){ System.out.printIn("("+string+")"); } public void showWithAster(){ System.out.printIn("*"+string+"*"); } }
*Target – Print Interface
필요로 하는 메소드를 제공하는 역할.
public interface Print{ public abstract void printWeak(); public abstract void printStrong(); }
*Adapter – PrintBanner Class
Adaptee 역할의 메소드를 사용하여 Target 역할을 충족시키는 역할.
public class PrintBanner extends Banner implements Print{ public PrintBanner(String string){ super(string); } public void printWeak(){ showWithParen(); } public void printStrong(){ showWithAster(); } }
*Client – Main Class
Target 역할의 메소드를 사용해서 일을 하는 역할
public class Main{ public static void main(String[] args){ Print p= new PrintBanner("Hellow"); p.printWeak(); p.printStrong(); } }
Print interface 를 사용하여 구현하고 있다는 점을 강조하기 위해 인스턴스 변수를 Print 형 변수에 대입하여 사용함…
Recent Comments