생성자의 오버로딩

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

+ Recent posts