IT/Java
[Java / annotation] - @NoArgsConstructor
justdo2t
2024. 12. 12. 13:45
Lombok에서 제공하는 어노테이션 중 하나이며, 기본 생성자(매개변수가 없는 생성자)를 자동으로 생성해준다. Lombok을 사용하면 코드를 간결하게 만들 수 있기 때문에 많이 사용한다.
import lombok.NoArgsConstructor;
@NoArgsConstructor
public class User {
private String name;
private int age;
}
코드에서 @NoArgsConstructor 어노테이션을 사용하면 컴파일 시점에 다음과 같은 기본 생성자를 자동으로 생성해준다.
public User(){
// 아무런 파라미터가 없는 기본 생성자
)
@NoArgsConstructor 에는 access라는 추가 옵션이 있는데 public, protected, private 등의 값을 가질 수 있는 생성자의 접근 제어자를 설정할 수 있다.
// protected 접근 제어자
@NoArgsConstructor(access = AccessLevel.PROTECTED)
public class User {
private String name;
private int age;
}
// private 접근 제어자
@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class User {
private String name;
private int age;
}
public 접근 제어자의 경우 @NoArgsConstructor 에 별도의 옵션을 주지 않을 경우에 디폴트로 설정이 된다.