@Data
아래 5가지 롬복 어노테이션을 축약한 어노테이션
@ToString, @EqualsAndHashCode, @Getter(모든 필드) / @Setter (final 아닌 모든 필드), @RequiredArgsConstructor
@ToString
toStrig() 메서드를 자동으로 생성해줌. 클래스이름과 필드를 콤마로 구분해서 문자열로 만들어준다
# 지원하는 configuration
- includeFieldNames = [true | false] (default: true)
fieldName = fieldValue
- doNotUseGetters= [true | false] (default: false)
true : getter를 이용하지 않고 field에 직접 접근해서 toString() 생성
- callSuper = [call | skip | warn] (default: skip)
call : super 클래스의 toString() 호출
skip : super클래스의 toString() 호출 X
warn : super 클래스의 toString() 호출 X, 경고
- flagUsage = [warning | error] (default: not set)
warning : @ToString 사용 시 경고
error : @ToString 사용 시 에러
@EqualsAndHashCode
equals(Object other), hashCode() 메서드 구현
# 지원하는 configuration
- doNotUseGetters= [true | false] (default: false)
true : getter를 이용하지 않고 field에 직접 접근해서 equals, hashCode 메서드 생성
- callSuper = [call | skip | warn] (default: skip)
call : super 클래스의 equals, hashCode 호출
skip : super클래스의 equals, hashCode 호출 X
warn : super 클래스의 equals, hashCode 호출 X, 경고
- flagUsage = [warning | error] (default: not set)
warning : @EqualsAndHashCode 사용 시 경고
error : @EqualsAndHashCode 사용 시 에러
@Getter
getter를 자동으로 만들어 준다
@Setter
setter를 자동으로 만들어 준다
@RequiredArgsConstructor
초기화 되지 않은 final 필드나 @NonNull 어노테이션이 붙은 필드에 대해 생성자를 만들어 준다
@NonNull 필드의 경우 명시적인 널 체크가 생성, null이 들어올 경우 NullPointerException 발생
파라미터의 순서는 클래스에 있는 필드 순서에 맞춰서 생성
[참고 - Lombok features]
https://projectlombok.org/features/all
[참고 - Lombok javadoc]
https://projectlombok.org/api/
'개발 > Java' 카테고리의 다른 글
[JUnit] #01. JUnit 5 개요 / Java 버전 / 예시 프로젝트 (0) | 2022.01.24 |
---|---|
[Lombok] @Builder / @Builder.Default / @Singular (0) | 2022.01.21 |
[Java] LocalDate, ChronoUnit으로 날짜 간격 구하기(31일 간격으로 나누기) (0) | 2022.01.17 |
[Java] 체크예외, 언체크예외 초간단 정리 (0) | 2022.01.11 |
[Java] equals 메서드 (0) | 2021.06.15 |
댓글