객체를 생성하기 위해서는 다음과 같은 패턴들을 사용할 수 있다.
User user = User.builder()
.name("테스트")
.age(19)
.height(181)
.iq(121).build();
1. 필요한 데이터만 설정할 수 있음
➡ 테스트용 객체 생성에도 용이함
➡ 불필요한 코드의 양을 줄일 수 있음
2. 유연성을 확보할 수 있음
3. 가독성을 높일 수 있음
4. 변경 가능성을 최소화할 수 있음
Setter)를 사용한다. 그러나 Setter는 불필요하게 변경 가능성을 열어둔다는 단점이 있다. → 유지보수시 값이 할당된 지점을 찾기 어려움final로 선언 → 불변성 확보객체를 생성하는 대부분의 경우에는 빌더 패턴을 적용하는 것이 좋다.
단, 다음의 2가지 상황에서는 빌더를 구현할 필요가 없다.
빌더의 남용은 오히려 코드를 비대하게 만들 수 있으므로, 변수의 개수와 변경 가능성 등을 중점적으로 보고 빌더 패턴을 적용할지 판단하면 되겠다.