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 에 별도의 옵션을 주지 않을 경우에 디폴트로 설정이 된다.

더보기
더보기