생성자의 오버로딩
package sec07.exam03.constructor_overload;
public class Car {
//field
String company = "현대자동차";
String model;
String color;
int maxSpeed;
//constructor
Car(){} //①생성자(기본생성자)
Car(String model){ //②생성자
this.model = model;
}
Car(String model, String color) { //③생성자
this.model = model;
this.color = color;
}
Car(String model, String color, int maxSpeed) { //④생성자
this.model = model;
this.color = color;
this.maxSpeed = maxSpeed;
}
}
객체 생성 시 생성자 선택
package sec07.exam03.constructor_overload;
public class CarExample {
public static void main(String[] args) {
Car car1 = new Car(); //①생성자 선택
System.out.println("car1.company: " + car1.company); //필드에 선언되어있음
System.out.println();
Car car2 = new Car("자가용"); //②생성자 선택
System.out.println("car2.company: " + car2.company); //필드에 선언되어있음
System.out.println("car2.model: " + car2.model);
System.out.println();
Car car3 = new Car("자가용", "빨강"); //③생성자 선택
System.out.println("car3.company: " + car3.company);
System.out.println("car3.model: " + car3.model);
System.out.println("car3.color: " + car3.color);
System.out.println();
Car car4 = new Car("택시", "검정", 200);
System.out.println("car4.company: " + car4.company);
System.out.println("car4.model: " + car4.model);
System.out.println("car4.color: " + car4.color);
System.out.println("car4.maxSpeed: " + car4.maxSpeed);
System.out.println();
}
}
car1.company: 현대자동차
car2.company: 현대자동차
car2.model: 자가용
car3.company: 현대자동차
car3.model: 자가용
car3.color: 빨강
car4.company: 현대자동차
car4.model: 택시
car4.color: 검정
car4.maxSpeed: 200
'Java > 6. 클래스 (Class)' 카테고리의 다른 글
Day 7 : 메소드 선언 및 호출 (0) | 2021.10.27 |
---|---|
Day 7 : 다른 생성자를 호출해서 중복 코드 줄이기 (0) | 2021.10.27 |
Day 7 : 생성자에서 필드 초기화 (0) | 2021.10.27 |
Day 7 : 외부 클래스에서 Car 필드값 읽기와 변경 (0) | 2021.10.27 |
Day 7 : Summary - 클래스 (Class) (0) | 2021.10.27 |