기록장

생성자에 대해서 알려줄게2 본문

개발/JAVA

생성자에 대해서 알려줄게2

HJJJJJ 2022. 5. 12. 22:00
728x90

생성자 오버로딩이란 뭘까?

생성자 오버로딩이란 매개 변수를 달리하는 생성자를 여러 개 선언하는거야

 

매개변수의 타입,개수,순서가 다르게 선언하는거지

public class Car{
Car() { ... }
Car(String model) { ... }
Car(String model, String color){ ... }
Car(String model, String color, int maxSpeed) { ... }
}
//오버로딩한 예

생성자 오버로딩 주의 점은 

매개 변수의 타입과 개수 선언된 순서가 똑같을 경우 매개 변수 이름만 바꾸는건

오버로딩이 아.니.야

 

생성자가 오버로딩이 됐다면 new 연산자로 생성자를 호출할 때 

제공되는 매개값의 타입과 수에 의해 호출될 생성자가 결정돼~

 

 

package sec03.exam01;

public class Car {
	//필드
	String company = "현대자동차";
	String model;
	String color;
	int maxSpeed;
	
	//생성자
	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 sec03.exam01;

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();
		
		
	}

}
//객체 생성시 생성자 선택

 

728x90

'개발 > JAVA' 카테고리의 다른 글

정적 변수 코드 짜봤어~ 주의할 점도 알려 줄게  (0) 2022.05.15
메소드를 알려줄게 2  (0) 2022.05.14
메소드를 말해줄게  (0) 2022.05.14
생성자에 대해서 알려줄게  (0) 2022.05.12
필드  (0) 2022.05.12
Comments