개발이글스
[JAVA] 생성자 오버로딩 본문
생성자 오버로딩이란?
매개변수를 달리하는 생성자를 여러개 선언하는 것을 생성자 오버로딩이라고한다.
다음은 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(매개변수,...,값);
실행문;
}
'Programming > Java' 카테고리의 다른 글
[JAVA] 문자열로 형변환 (0) | 2023.01.18 |
---|---|
[JAVA] 인터페이스와 추상클래스의 차이가 대체 뭘까? (0) | 2022.09.25 |
[JAVA] 업캐스팅 & 다운캐스팅 (0) | 2022.09.13 |
[JAVA] super & super() (0) | 2022.09.13 |
[JAVA] if문, switch문 (0) | 2022.09.06 |