* 하위 클래스에서 구체적으로 처리하기
템플릿의 기능을 가진 패턴!
상위클래스에서 처리의 뼈대를 결정하고, 하위 클래스에서 그 구체적인 내용을 결정하는 디자인 패턴.
AbstractClass(추상클래스)의 역활
템플릿 메소드를 구현.또한 그 템플릿 메소드에서 사용하고 있는 추상 메소드를 선언.
ConcreateClass(구현클래스)의 역활
AbstractClass역활에서 정의되어 있는 추상 메소드를 구체적으로 구현.
템플릿메소드 패턴을 사용하면...
1.로직을 공통화할 수 있다.
2.상위 클래스와 하위 클래스의 연계
3.하위 클래스를 상위 클래스와 동일시한다.
"상위 클래스형의 변수에 하위 클래스의 어떠한 인스턴스를 대입해도 제대로 작동할 수 있도록 한다." 는 원칙은 LSP(The Liskov Substitution Principle)이라고 불리고 패턴에 국한되지 않는 상속의 일반적인 원칙입니다.
반응형