1. 예제
치즈 버거를 만들어 보자!
- 1000원, 치즈 버거, 기본 양념(선택적 파라미터 - 옵션 추가 비용 200원)
- 1200원, 치즈 버거, 케챱
- 1000원, 치즈 버거, 마요네즈
package ex04;
public class CheeseBurger {
    String name;
    int price;
    String sauce;
    // 기본 생성자 (치즈버거, 1000, 기본 양념)
    // 1. 기본 치즈 버거 만들기
    public CheeseBurger() {
        this.name = "치즈버거";
        this.price = 1000;
        this.sauce = "기본 양념";
    }
    // 파라미터가 있는 생성자 => 생성자 오버로딩 (치즈버거, 1200, 케챱)
    // 2. 케챱이 들어간 치즈버거 만들기 (출력)
    public CheeseBurger(int price, String sauce) {
        this.name = "치즈버거";
        this.price = price;
        this.sauce = sauce;
    }
    // 3. 마요네즈가 들어간 1000원 짜리 치즈버거 만들기 (출력)
    public CheeseBurger(String sauce) {
        this.name = "치즈버거";
        this.price = 1000;
        this.sauce = sauce;
    }
    public static void main(String[] args) {
        CheeseBurger burger1 = new CheeseBurger();
        System.out.println(burger1.name + ", " + burger1.price + ", " + burger1.sauce);
        CheeseBurger burger2 = new CheeseBurger(1200, "케챱");
        System.out.println(burger2.name + ", " + burger2.price + ", " + burger2.sauce);
        CheeseBurger burger3 = new CheeseBurger("마요네즈");
        System.out.println(burger3.name + ", " + burger3.price + ", " + burger3.sauce);
    }
}
2. 생성자 오버로딩의 좋은점
- 사용자가 편리하다.
Share article