더북(TheBook)

2.3.3 다른 생성자에서 특정 생성자 호출


비슷한 작업을 수행하는 생성자가 여러 개 있다면 코드 중복을 제거하는 것이 가장 좋다. 공통된 초기화 작업은 대체로 생성자 하나에 몰아넣을 수 있다.

또 다른 생성자에서 어느 한 생성자를 호출할 수 있는데, 호출하는 쪽 생성자 바디의 첫 번째 문장으로만 허용한다. 게다가 놀랍게도 호출할 생성자 이름이 아니라 this 키워드를 사용한다.

public Employee(double salary) {

    this("", salary); // Employee(String, double)을 호출한다.

    // 이후에 다른 문장이 올 수 있다.

}


Note ≣

여기서 this는 생성될 객체 참조가 아니다. this는 같은 클래스에 속한 다른 생성자를 호출할 때 사용하는 특수 문법이다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.