더북(TheBook)

2.3.1 생성자 구현


생성자 선언 방법은 메서드 선언 방법과 비슷하다. 하지만 생성자는 이름이 클래스와 같고, 반환 타입이 없다.

public Employee(String name, double salary) {

    this.name = name;

    this.salary = salary;

}


Note ≣

이 생성자는 공개(public) 접근이다. 하지만 비공개(private) 생성자 역시 유용하다. 예를 들어 LocalDate 클래스에는 공개 생성자가 없다. 그 대신 클래스의 사용자는 nowof 같은 ‘팩토리 메서드’로 객체를 얻는다. 이런 팩토리 메서드는 비공개 생성자를 호출한다.


icon Caution

다음과 같이 실수로 반환 타입을 명시했다고 하자.


public void Employee(String name, double salary)


그러면 생성자를 선언하는 것이 아니라 Employee라는 메서드를 선언하는 것이 된다.

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