[스프링] @AllArgsConstructor, @RequiredArgsConstructor 위험성, 롬복 주의점

June·2021년 9월 10일
0

코드숨

목록 보기
5/8

AllArgsConstructorRequiredArgsConstructor를 조심해야하는데, 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

0개의 댓글