노벰버맨 2021. 12. 15. 21:58

가. 배경

-알고리즘의 기본 구조가 유사할 때 적용

 

나. 사용사례

-기본 구조는 슈퍼 클래스에 정의하고, 구체적인 구현은 서브 클래스에서 재정의

 

다. 샘플 코드 및 클래스 다이어그램

카페인 음료
public abstract class CaffeineBeverage {
  final void prepareRecipe( ) {
    boilWater( );
    brew( );
    pourInCup( );
    addCondiments( );
  }
  abstract void brew( );
  abstract void addCondiments( );
  void boilWater( ) {
  }
  void pourInCup( ) {
  }
}
커피
public class Coffee extends CaffeineBeverage {
  public void brew( ) {
  }
  public void addCondiments( ) {
  }
}
public class Tea extends CaffeineBeverage {
  public void brew( ) {
  }
  public void addCondiments( ) {
  }
}