본문 바로가기
Spring Boot 개념 정리

생성자 어노테이션에 대해 알아보자(ex. @NoArgsConstructor)

by 반오십 코린이 2023. 9. 1.
728x90
@AllArgsContructor

 

class에서 선언된 모든 변수를 설정해주는 생성자 자동 생성

@AllArgsContructor
public class Member{
	private final Long idx;
    
   	@notNull 
   	String phone;
    
    	String etc;
}

//위 어노테이션을 통해 다음과 같은 생성자를 직접 만들어 주지 않아도 생성.
public Member(Long idx, String phone, String etc){
	this.idx = idx;
        this.phone = phone;
        this.etc = etc;
}

 


@NoArgsContructor

 

기본 생성자를 만드는 annotation

 

@NoArgsContructor
public class Member{
	private final Long idx;
    
   	@notNull 
   	String phone;
    
    	String etc;
}

//위 어노테이션을 통해 다음과 같은 생성자를 직접 만들어 주지 않아도 생성.
public Member(){};

@RequiredArgsConstructor

 

Required(요구된) 즉, 무조건 필히 들어가야 하는 내용들로 생성자를 통해 채워주는 것을 의미합니다.

 

final이 들어간 변수 & @NotNull이 붙은 변수로 생성자를 만들어줍니다.

 

 

@RequiredArgsContructor
public class Member{
	private final Long idx;
    
   	@notNull 
   	String phone;
    
    	String etc;
}

//위 어노테이션을 통해 다음과 같은 생성자를 직접 만들어 주지 않아도 생성.
public Member(Long idx, String phone){
	this.idx = idx;
    	this.phone = phone;
}

주저리

롬복을 사용하기 이전 버전에서는 생성자를 직접 만들어 주었지만

이제 경우에 따라 모든 변수 기반 생성자 생성, 기본 생성자, (final, NotNULL)기반 생성자를 어노테이션 하나로 알아서 만들어진다는 점이 간편하고

 

또한, 직접 코드 작성 or 자동 코드 작성 중 하나를 선택해도 된다는 자유성이 보장된다는 것.

기술 스택이 발전함에 따라 개발이 많이 편리해진다는 것을 몸소 느낀 포스팅이었다.

728x90