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;
    }
    public String getMaterial() {
        return material;
    }
}package comp;
// DI (has) (디펜던시 인젝션)
public class BurgerSet {
    private final Burger burger; // final
    private final Coke coke; // final
    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 b1 = new Burger("버거", 1000);
        // 2. 콜라만 주세요 (콜라, 500)
        Coke c1 = new Coke("콜라", 500);
        // 3. 쉬림프 버거 주세요 (새우버거, 2000, 새우)
        ShrimpBurger s1 = new ShrimpBurger("새우버거", 2000, "새우");
        // 4. 버거 세트 주세요
        Burger burger = new Burger("버거", 1000);
        Coke coke = new Coke("콜라", 500);
        BurgerSet set = new BurgerSet(burger, coke);
        System.out.println(set.getAllNames());
        System.out.println(set.getTotalPrice());
    }
}

Share article