Spring/어노테이션

@NOARGSCONSTRUCTOR , @ALLARGSCONSTRUCTOR , @REQUIREDARGSCONSTRUCTOR 차이

개발자 카페 2021. 5. 4. 17:34
728x90
@NOARGSCONSTRUCTOR 파라미터가 없는 기본 생성자를 생성
@ALLARGSCONSTRUCTOR 모든 필드 값을 파라미터로 받는 생성자를 만듦
@REQUIREDARGSCONSTRUCTOR final이나 @NonNull인 필드 값만 파라미터로 받는 생성자 만듦
@NoArgsConstructor
@RequiredArgsConstructor
@AllArgsConstructor
public class User {

  private Long id;
  
  @NonNull
  private String name;
  
  @NonNull
  private String pw;
  
  private int age;
  
}
User user1 = new User(); // @NoArgsConstructor
User user2 = new User("user2", "1234"); // @RequiredArgsConstructor
User user3 = new User(1L, "user3", "1234", null); // @AllArgsConstructor

※ Nonnull 이란 : null을 허용하지 않음

※ Nullable 이란 : null을 허용함

728x90
댓글수1