생성자 대신 정적 팩터리 메서드를 고려하라
Java에서 정적 팩토리 메서드의 예시
List.of()
진행 중인 개인 프로젝트 내에 Event 객체에 적용했다.
private Event(ObjectId formId, LocalDateTime start, LocalDateTime end, int winnersNum) {
}
public static Event createfromForm(Form form) {
return new Event(form.getId(), form.getStartTime(), form.getEndTime(), form.getWinnersNumber());
}
생성자는 private로 캡슐화를 해주었다.
생성자에 이름을 가질 수 있게 하여 가독성을 높였다.
외부에서 Event 객체의 생성자를 볼 수 없도록 하여 객체 생성을 캡슐화하는 장점을 가질 수 있었다.
참고
이펙티브자바