@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
'JAVA > - Spring' 카테고리의 다른 글
[spring] DI 알아보기 (0) | 2022.06.22 |
---|---|
[spring boot] JPA에서 일반 Join과 Fetch Join의 차이 (0) | 2022.06.02 |
[spring boot] Paging 처리 해보기 (0) | 2022.05.18 |
[spring boot] db에 이전에 넣었던 값 다시 넣어보기 (0) | 2022.05.14 |
[spring boot] @Transactional이란? (0) | 2022.05.13 |