JAVA/- Spring
[lombok] @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor 에 대해
wonin
2022. 5. 29. 18:43
@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