Lombok 어노테이션 정리
LOMBOK
LOMBOK 이란?- 자바개발시 도메인 오브젝트등 모델 객체를 생성할 때 세터/게퍼/toString/hashCode 메소드등을 만드는데
이러한 경우 클래스 파일의 소스가 길어지고 복잡해 보인다. 이를 해결하기 위해 롬복을 사용하는데
클래스 안에 있는 필드에 대해 Getter, Setter의 생성, toString(), equals(), hashCode() 메서드를 자동생성 해준다.
@Getter : Getter 메소드를 생성해 준다.
@Setter : Setter 메소드를 생성해 준다.
@ToString : toString 메소드를 클래스 필드를 확인해서 적절히 만들어 준다.
@EqualsAndHashCode : equlas와 hashcode 메소드를 만들어 준다.
@Data : 클래스안의 모든 private 필드에 대해 @Getter와 @Setter를 적용하여 세터/게터를 만들어주고
클래스내에 @ToString 과 @EqualsAndHashCode를 적용시켜 메소드를 오버라이드 해주며
@RequiredArgsConstructor를 지정해 준다.
val : 로컬변수에 사용되며 final을 사용한것과 비슷한 효과를 내며 형식을 자동유추하여
타입을 따로 쓰지 않고 변수를 선언할 수 있다.
@NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor : 생성자를 자동으로 만들어주고 @NotNull option 에 따라 null check 도 해준다.
@Delegate : 한 클래스에 다른 클래스의 메소드를 위임.