DEV-STUDY/Java
[이펙티브자바] @Builder를 클래스 레벨이 아닌 생성자 레벨에 사용
HwangJerry
2023. 7. 25. 00:21
이펙티브 자바에서 소개된 객체 생성 방법론인 Builder Pattern을 쉽게 적용할 수 있도록 Lombok에서는 @Builder라는 어노테이션을 제공해 줍니다.
이를 개인적으로는 클래스 레벨에서 많이 사용해오곤 헀는데, 롬복 공식 문서에 따르면 @Builder 어노테이션은 생성자 레벨에서 사용하는 것을 권장한다고 합니다.
출처: https://projectlombok.org/features/Builder
클래스 레벨과 생성자 레벨에는 한 가지 차이점이 있는데,
클래스 레벨에서는 가능한 모든 필드에 대하여 빌더 메서드를 생성했다면, 생성자 레벨에서는 생성자의 파라미터 필드에 대해서만 빌더 메서드를 생성한다는 점입니다.
출처: https://sudo-minz.tistory.com/137