본문 바로가기

JAVA/- Spring

[lombok] @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor 에 대해

@NoArgsConstructor 어노테이션은 파라미터가 없는 기본 생성자를 생성해줍니다.

 

@AllArgsConstructor 어노테이션은 모든 필드 값을 파라미터로 받는 생성자를 만들어줍니다.

 

@RequiredArgsConstructor 어노테이션은 final이나 @NonNull인 필드 값만 파라미터로 받는 생성자를 만들어줍니다.

@NoArgsConstructor
@RequiredArgsConstructor
@AllArgsConstructor
public class User {
  private Long id;
  @NonNull
  private String username;
  @NonNull
  private String password;
  private int[] scores;
}
User user1 = new User();
User user2 = new User("won", "1234");
User user3 = new User(1L, "won", "1234", null);

@NoArgsConstructor는 User user1 = new User(); 처럼 만들어 줍니다.

 

@AllArgsConstructor는 User user2 = new User("won", "1234"); 처럼 만들어 줍니다. @NonNull이 붙어 있는 것을 파라미터로 받는 생성자를 만들어 줍니다.

 

 

@NoArgsConstructor는 User user3 = new User(1L, "won", "1234", null); 처럼 만들어 줍니다.

모든 필드를 파라미터로 받는 생성자를 만듭니다.

728x90