AllArgsConstructor
와 RequiredArgsConstructor
를 조심해야하는데, AllArgsConstructor
는 말 그대로 객체 내부 모든 인스턴스 멤버를 가지고 있는 생성자를 만드는 애노테이션이고, RequiredArgsContructor
는 final, NotNull이 붙은 인스턴스 멤버들을 가지는 생성자를 만드는 것입니다.
하지만 이렇게 되면, 객체를 생성할 때 파라미터의 순서에서 실수할 확률이 커지게 됩니다.
lastName과 firstName을 String으로 가진다면
@AllArgsConstructor
public class Person {
private String lastName;
private String firstName;
}
Person person = new Person("Injun", "Son");
에서 순서를 잘못 넣는다면 오류가 발생하게 됩니다.
빌더 패턴을 사용한다면 이러한 실수를 줄일 수 있을 것 같습니다.
출처 : https://kwonnam.pe.kr/wiki/java/lombok/pitfall
https://nohriter.tistory.com/68