반응형
public class Main {
public static void main(String[] args) {
Beberage coffee = new Coffee();
coffee.prepareRecipe();
}
}
public abstract class Beberage {
final void prepareRecipe() {
boilWater();
brew();
pourInCup();
addCondiments();
}
public void boilWater() {
System.out.println("물끓임");
}
abstract void brew();
public void pourInCup() {
System.out.println("컵에따름");
}
abstract void addCondiments();
}
public class Coffee extends Beberage{
@Override
public void brew() {
System.out.println("커피원두");
}
@Override
public void addCondiments() {
System.out.println("설탕프림");
}
}
public class Tea extends Beberage{
@Override
public void brew() {
System.out.println("티벡");
}
@Override
public void addCondiments() {
System.out.println("레몬띄우기");
}
}
반응형
'Design Architecture > Design Pattern 예제' 카테고리의 다른 글
Composite 패턴 예제 (0) | 2021.09.28 |
---|---|
Decorator 예제 (0) | 2021.09.28 |
빌더(Builder) 패턴 예제 (0) | 2021.09.26 |
추상 팩토리(Abstract Factory)패턴 예제 (0) | 2021.09.26 |
팩토리 메소드(Factory Method) 패턴 예제 (0) | 2021.09.26 |