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