템플릿 메소드 패턴
Template Method Pattern
(템플릿 메소드 패턴)
행위 패턴(Object Behavioral)
일정한 단계
가 있는 알고리즘들을 나눠 공통된 절차를 제외
한 변경 가능성
이 있는 부분들을 하위 클래스에서 구체화
하는 패턴
// 단계별 구성
public abstract class Life {
protected abstract String wakeUp();
protected abstract String eat();
protected abstract String sleep();
// 공통된 절차를 지정해 코드 중복 지양
public void daily() {
System.out.print(wakeUp());
System.out.print(eat());
System.out.print(sleep());
}
}
// 하위 클래스에서 구체화
public class DogLife extends Life {
@Override
protected String wakeUp() { return "왈왈"; }
@Override
protected String eat() { return "찹찹"; }
@Override
protected String sleep() { return "..."; }
}
public class Main {
public static void main(String[] args) {
Life myDog = new DogLife();
myDog.daily(); // 왈왈찹찹...
}
}
댓글남기기