Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

개발이글스

[JAVA] 생성자 오버로딩 본문

Programming/Java

[JAVA] 생성자 오버로딩

지윤이글스 2022. 9. 14. 22:03

생성자 오버로딩이란?

매개변수를 달리하는 생성자를 여러개 선언하는 것을 생성자 오버로딩이라고한다. 

다음은 Car class의 생성자를 오버로딩한 예시 이다.

class Car{
	Car(){--}
    Car(String model){--}
    Car(String model, String color){--}
    Car(String model, String color, int maxspeed){--}

! 생성자 오버로딩 시 주의할 점은 매개변수의 타입과 개수 그리고 선언된 순서가 똑같을 경우 매개 변수 이름만 바꾸는 것은 생성자 오버로딩이 아니라는 점입니다. 

ex) Car(String model, String color){--}

      Car(String color, String model){--} -------> 생성자 오버로딩 아님 !!

 

다른 생성자 호출, this()

생성자 오버로딩이 많아질 경우 생성자 간의 중복된 코드가 발생할 수 있습니다. 매개변수의 수만 달리하고 필드 초기화 내용이 비슷한 생성자에서 이러한 현상을 많이 볼 수 있습니다. 이 경우에는 필드 초기화 내용은 한 생성자에만 집중적으로 작성하고 나머지 생성자는 초기화 내용을 가지고 있는 생성자를 호출하는 방법으로 개선할 수 있습니다.

 

생성자에서 다른생성자를 호출 할 때에는 this() 코드를 사용합니다. 

Car([매개변수, ...){
	this(매개변수,...,값);
실행문;
}