커피와 홍차 만들기
- 홍차와 커피의 공통점은 매우 비슷한 방법으로 만들어진다는 점이다.
Coffee
클래스와 Tea
클래스 만들기
- 커피와 홍차를 만드는 클래스를 준비해 본다.
Coffee.java
public class Coffee {
void prepareRecipe() { // 커피 만드는 법
boilWater();
brewCoffeeGrinds();
pourInCup();
addSugarAndMilk();
}
// 알고리즘의 각 단계를 구현
public void boilWater() {
System.out.println("물 끓이는 중");
}
public void brewCoffeeGrinds() {
System.out.println("필터로 커피를 우려내는 중");
}
public void pourInCup() {
System.out.println("컵에 따르는 중");
}
public void addSugarAndMilk() {
System.out.println("설탕과 우유를 추가하는 중");
}
}
public class Tea {
void prepareRecipe() {
boilWater();
steepTeaBag();
pourInCup();
addLemon();
}
public void boilWater() {
System.out.println("물 끓이는 중"); // Coffee 클래스와 동일
}
public void steepTeaBag() {
System.out.println("찻잎을 우려내는 중");
}
public void addLemon() {
System.out.println("레몬을 추가하는 중");
}
public void pourInCup() {
System.out.println("컵에 따르는 중"); // Coffee 클래스와 동일
}
}
Coffee
클래스와 Tea
클래스 추상화하기
- 대부분의 사람들은 다음과 같이 추상화 할 것이다.