class 내에 지정되어있는 필드에 대해서 혹은 필드 위에 붙히면은 필드의 getter와 setter를 모두 생성한다.
파라미터가 없는 기본 생성자를 생성한다.
모든 생성자가 포함된 생성자를 생성한다.
final이 붙은 필드나 @NonNull 어노테이션이 붙은 필드에 대한 생성자를 생성하여 특정 변수만을 활용하는 생성자를 생성한다.
필드를 기반으로 ToString 메소드를 자동 생성하며 모든 필드값을("필드 1 = " + 필드 1) 형태로 출력한다. exclude 속성을 이용해서 (exclude = "필드명")으로 원하지 않는 필드명을 제거할 수 있다.
Equals와 hashCode 메소드를 자동으로 생성한다.
getter, setter, tostring, EqualsAndHashcode, RequiredArgsConstructor 모두 생성한다.
자원을 자동으로 관리하며 clean()메소드를 호출해 자원을 제거한다.
클래스에 빌드 패턴을 적용하는 클래스를 생성한다. 생성자의 상단에 선언하면 생성자에 포함된 필드만 빌더에 포함한다.
생성자는 채워야하는 필드가 무엇인지 정확히 지정할 수 없지만 빌더는 명확하게 인지할 수 있다는 장점이 있다.
좋은 글 감사합니다!