SpringBoot Lombok ( @RequiredArgsConstructor )

song yuheon·2023년 9월 6일
0

Spring

목록 보기
56/93
post-thumbnail

@RequiredArgsConstructor는 Lombok 라이브러리에서 제공하는 어노테이션이다. Lombok은 Java에서 반복되는 코드를 줄이기 위한 도구로, 주로 getter, setter, 생성자 등을 자동으로 생성하는 데 사용된다.


핵심 특징

  1. 자동 생성자 생성
    @RequiredArgsConstructor는 필드를 파라미터로 받는 생성자를 자동으로 생성한다.

  2. final 또는 @NonNull
    이 어노테이션은 클래스 내의 final로 선언된 필드나 @NonNull 어노테이션이 붙은 필드에 대한 생성자만을 생성한다. 즉, 초기화가 필요한 필드들에 대한 생성자를 자동으로 만들어준다.

  3. @NonNull: Lombok의 @NonNull 어노테이션을 사용하면 해당 필드에 대해 null 검사를 하는 생성자 코드가 생성된다. 만약 null 값이 전달되면, NullPointerException이 발생한다.

import lombok.NonNull;
import lombok.RequiredArgsConstructor;

@RequiredArgsConstructor
public class SampleClass {

    private final String mandatoryField;

    @NonNull
    private String name;

    private int age;
}

위의 클래스에서 @RequiredArgsConstructor를 사용했기 때문에, Lombok은 다음과 같은 생성자를 자동으로 생성해준다

public SampleClass(String mandatoryField, String name) {
    if (name == null) {
        throw new NullPointerException("name is marked non-null but is null");
    }
    this.mandatoryField = mandatoryField;
    this.name = name;
}

주의할 점은, 모든 필드에 대한 생성자가 아닌, final로 선언되거나 @NonNull이 붙은 필드만을 파라미터로 하는 생성자가 생성된다는 것이다.

@RequiredArgsConstructor를 사용하면 코드의 중복을 줄이고 명확하게 필요한 파라미터만을 가진 생성자를 생성할 수 있어 유용하게 사용될 수 있다.


profile
backend_Devloper

0개의 댓글