1. 오버로딩 이해하기
package ex04;
public class Overload01 {
public static void main(String[] args) {
// 2. Parameter의 개수가 다르면 로드된다.
System.out.println(1);
System.out.println(1.0);
System.out.println("문자열");
System.out.println('A');
System.out.println(true);
}
}2. 문제 풀어보기
치즈버거를 만들어보자!
1000원 치즈버거, 기본양념(선택정 파라미터 - 옵션추가 비용 200원)
코드
package ex04;
public class CheeseBurger {
String name;
int price;
String sauce;
// 기본 생성자 (치즈버거, 1000, 기본양념)
public CheeseBurger() {
this.name = "치즈버거";
this.price = 1000;
this.sauce = "기본양념";
}
// Parameter가 있는 생성자 => 생성자 오버로등 (치즈버거, 1200, 케찹)
public CheeseBurger(int price, String sauce) {
this.name = "치즈버거";
this.price = price;
this.sauce = sauce;
}
public CheeseBurger(String sauce) {
this.name = "치즈버거";
this.price = 1000;
this.sauce = sauce;
}
public static void main(String[] args) {
// 1. 기본 치즈 버거 만들기
CheeseBurger burger1 = new CheeseBurger();
System.out.println(burger1.name + " " + burger1.price + " " + burger1.sauce);
System.out.println();
// 2. 케찹이 들어간 치즈 버거 만들기 (출력)
CheeseBurger burger2 = new CheeseBurger(1200, "케찹");
System.out.println(burger2.name + " " + burger2.price + " " + burger2.sauce);
System.out.println();
// 3. 마요네즈가 들어간 1000원짜리 치즈버거 만들기 (출력)
CheeseBurger burger3 = new CheeseBurger("마요네즈");
System.out.println(burger3.name + " " + burger3.price + " " + burger3.sauce);
}
}결과

Share article