Template method
public abstract class Super{ // 기본 알고리즘 코드 (기본 골격, 템플릿 메소드) // 서브 클래스에서 구현하거나 오버라이드할 메소드 사용. public void templateMthod(){ hookMethod(); abstractMethod(); } // hook method: 선택적으로 오버라이드 가능 protected void hookMethod(){}; // 서브 클래스에서 반드시 구현해야 하는 추상메소드 public abstract void abstractMethod(){}; }// super class의 메소드를 오버라이딩 하거나 구현해서 기능 확장 public class Sub extends Super{ protected void hookMethod(){ ... } public void abstractMethod(){ ... } }
Last updated