package comp;
// 기본 버거
public class Burger {
private String name;
private int price;
// 상태 초기화는 생성자로
public Burger(String name, int price) {
this.name = name;
this.price = price;
System.out.println(name + " 만들어졌어요");
}
public String getName() {
return name;
}
public int getPrice() {
return price;
}
}
package comp;
public class Coke {
private String name;
private int price;
public Coke(String name, int price) {
this.name = name;
this.price = price;
System.out.println(name + " 만들어졌어요");
}
public String getName() {
return name;
}
public int getPrice() {
return price;
}
}
package comp;
public class ShrimpBurger extends Burger {
private String material; // 재료
public ShrimpBurger(String name, int price, String material) {
super(name, price);
this.material = material;
System.out.println(name + " 만들어졌어요");
}
public String getMaterial() {
return material;
}
}
package comp;
// DI (has)
public class BurgerSet {
private final Burger burger;
private final Coke coke;
public BurgerSet(Burger burger, Coke coke) {
this.burger = burger;
this.coke = coke;
}
public Burger getBurger() {
return burger;
}
public Coke getCoke() {
return coke;
}
// 사용자를 위한 getter 만들어 봅시다.
public int getTotalPrice() {
return burger.getPrice() + coke.getPrice();
}
public String getAllNames() {
return burger.getName() + " " + coke.getName();
}
}
package comp;
public class LotteApp {
public static void main(String[] args) {
// 1. 버거만 주세요 (1000, 버거)
Burger burger = new Burger("버거", 1000);
// 2. 콜라만 주세요 (500, 콜라)
Coke coke = new Coke("콜라", 500);
// 3. 쉬림프 버거 주세요 (새우, 2000, 새우버거)
ShrimpBurger shrimpBurger = new ShrimpBurger("새우버거", 2000, "새우");
// 4. 버거 세트 주세요
Burger burger1 = new Burger("버거", 1000);
Coke coke1 = new Coke("콜라", 500);
BurgerSet burgerSet = new BurgerSet(burger, coke);
System.out.println(burgerSet.getAllNames());
System.out.println(burgerSet.getTotalPrice());
}
}
C:\workspace\tools\jdk-21\bin\java.exe "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA 2024.3.2.1\lib\idea_rt.jar=53512:C:\Program Files\JetBrains\IntelliJ IDEA 2024.3.2.1\bin" -Dfile.encoding=UTF-8 -Dsun.stdout.encoding=UTF-8 -Dsun.stderr.encoding=UTF-8 -classpath C:\workspace\java_lec\study\out\production\study comp.LotteApp
버거 만들어졌어요
콜라 만들어졌어요
새우버거 만들어졌어요
새우버거 만들어졌어요
버거 만들어졌어요
콜라 만들어졌어요
버거 콜라
1500
Process finished with exit code 0
Share article