Language/Java

@NoArgsConstructor (access = AccessLevel.PROTECTED) 사용 이유

hu6r1s 2024. 3. 4. 21:15

접근 권한을 Protected로 제어하기 위한 것이다.

같은 패키지나 자식 클래스에서 사용할 수 있도록 하기 때문에 무분별한 생성자 사용을 억제할 수 있다.

 

다른 접근 권한과 함께 설명하자면

접근 권한을 Private로 하면 프록시 객체 생성에 문제가 생기고, 접근 권한을 Public으로 하면 무분별한 객체 생성 및 Setter를 통한 값 주입을 할 수 있기에 접근 권한을 Protected로 작성 하는 것이다.