더북(TheBook)

2.2.4 프로퍼티 생성자 오버로드하기

필수가 아닌 프로퍼티에 기본 값이 있는 경우가 있다. 앞의 예제를 보고, Person 인스턴스 registered의 기본 값을 이 인스턴스가 생성된 시간으로 설정할 수 있다. 이럴 때 자바에서는 다음과 같이 두 가지 생성자를 사용해야 한다.

예제 2-1 선택적인 프로퍼티가 있는 전형적인 자바 객체

public final class Person {
    private final String name;
    private final Instant registered;
    
    public Person(String name, Instant registered) {
        this.name = name;
        this.registered = registered;
    }

    public Person(String name) {
        this(name, Instant.now());
    }

    public String getName() {
        return name;
    }

    public Instant getRegistered() {
        return registered;
    }
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.