티스토리 뷰

728x90

생성자가 2개 이상일 경우,

하나의 주생성자를 지정하고 주생성자에서만 초기화를 진행하고, 그 외의 부생성자에서는 주생성자를 호출하는 방식이 추천된다고 한다. 

 

✅ 이렇게 생성자에서 또 다른 생성자를 호출하는 방식을 생성자 체인 기법(Constructor Chainning)이라고 한다. (생성자 체인 기법 참고 블로그)

✅ 주생성자는 모든 부생성자 뒤에 위치시키는 것이 유지보수측면에서 좋다. 

 

before

public Car(final String name) {
    this.name = name;
    position = 0;
}

public Car(final String name, final int position) {
    this.name = name;
    this.position = position;
}

 

after

Car클래스의 Car(final String name, final int position)을 주생성자로 정하고 Car(final String name)에서 주생성자를 호출하는 방식으로 변경하였다. 

public Car(final String name) {
    this(name, 0);
}

public Car(final String name, final int position) {
    this.name = name;
    this.position = position;
}

 

Ref.

https://jackjeong.tistory.com/148

https://skyblue300a.tistory.com/6

 

728x90
댓글
공지사항
최근에 올라온 글