개발에서 자주 사용되는 Lombok 어노테이션 - 생성자

sonnng·2023년 5월 20일
0

Spring

목록 보기
4/41

생성자 자동생성

Lombok에서는 생성자를 자동으로 생성해주는 어노테이션을 사용할 수 있습니다.

  • @NoArgsConstructor 은 파라미터 없는 기본 생성자를 생성합니다.
  • @AllArgsConstructor 은 모든 필드 값을 파라미터로 받는 생성자를 생성합니다.
  • @RequiredArgsConstructor 은 final, @NonNull 필드 값만 파라미터로 받는 생성자를 생성합니다.

그 예로 들면

@NoArgsConstructor
@RequiredArgsConstructor
@AllArgsConstructor
public class Member{
 private Long id;
 
 @NonNull
 private String memberName;
 
 @NonNull
 private String memberEmail;

이러한 클래스가 존재할 경우, 외부 클래스에서 다양한 방법으로 생성자를 통하여 생성할 수 있습니다.

Member member1 = new Member();
Member member2 = new Member(1L, "song", "navernaver@naver.com");
Member member3 = new Member("song", "navernaver@naver.com");

@Data 어노테이션

@Data 어노테이션은 앞서 사용했던 생성자 생성 어노테이션을 모두 설정해 주는 어노테이션입니다. 클래스 레벨에 @Data 를 작성하여 모든 필드가 접근자, 설정자가 자동 생성되며 final, @NonNull 필드 값을 받는 생성자가 생성되고 그 외에도 toString, equals, hashCode 가 자동으로 만들어진다는 이점이 있습니다.

0개의 댓글