빠에야는 개발중
템플릿 메소드 패턴 본문
템플릿 메소드 패턴이란 같은 이름의 추상 메소드를 다른 클래스에서 상속받아 각자 다르게 구현하는 패턴이다. 즉 상위 클래스에서 메소드의 "틀"을 제공하는 것인데, 그야말로 추상화 자체라고 할 수 있겠다.
아래의 코드에서 여러 교복 회사들이 같은 상위 클래스 UniformFactory를 상속하여 같은 이름의 메소드 makeUniform()을 사용하지만 그 구현 내용은 각자 다르다.
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 | public abstract class UniformFactory { public void makeUniform() { button(); } abstract void button(); } public class Smart extends UniformFactory { public void button() { System.out.println("스마트는 동그란 단추"); } } public class Elite extends UniformFactory{ public void button() { System.out.println("엘리트는 네모단추"); } } public class Skoolooks extends UniformFactory { public void button() { System.out.println("스쿨룩스는 하트단추"); } } | cs |
1 2 3 4 5 6 7 8 9 10 11 12 | public class Uniform { public static void main(String[] args) { Smart s = new Smart(); Elite e = new Elite(); Skoolooks sk = new Skoolooks(); s.makeUniform(); e.makeUniform(); sk.makeUniform(); } } |
1 2 3 | 스마트는 동그란 단추 엘리트는 네모단추 스쿨룩스는 하트단추 | cs |
Comments