Lombok - @Data

@Data 가 generate 하는 것들#
generates all the boilerplate
@Getter모든 field 에 대한 getters@ToStringtoString 메서드@EqualsAndHashCodehashCode 메서드 equals 메서드 implementaions, 모든 non-transient fields 를 체크한다.@Setternon final field 에 대한 모든 setter@RequiredArgsConstructor생성자
명시적으로 작성된 생성자가 있으면 Data는 생성자를 생성하지 않음
initializer 가 없는 모든 non-final fields 는 @NonNull 어노테이션이 붙는다.
이름이 있는 static 생성자 메서드 생성#
@Data(staticConstructor = "of")
- 기본 생성자는 private 으로 생성 된다.
getter 와 setter 의 접근자#
기본적으로 public 으로 생성
@Getter(AccessLevel.NONE), @Setter(AccessLevel.NONE)
- private 으로 생성하는 방법
transient & static 필드는 제외 된다.#
이미 정의된 메서드가 존재할 때#
- lombok 은 이미 정의된 메서드를 생성하지 않음
- lombok 이 생성하는 메서드와 사용자가 정의한 메서드가 parameter 가 다르더라도 롬복은 메서드를 생성하지 않음.
- lombok 메서드를 생성하고 싶다면 메서드에
@lombok.experimental.Tolerate을 선언한다.