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;
}
}