본문 바로가기

PROGRAMMING/스피드웨건

Lombok annotation @Data의 의미

롬복을 자주 사용하는데 어노테이션을 아무거나 갖다 쓰는 것 같아서 그 의미를 잘 살펴보기로 했다.

@Getter @Setter나 Constructor 관련은 의미가 직관적이어서 괜찮았지만, 항상 쓰면서도 저거 머야 꼭 써야 되나 하는 애가 있었다.

 

@Data

 

그래서 롬복 공식 문서를 구경하러 갔다.

 

그랬더니

@Data는 @ToString, @EqualsAndHashCode, @Getter/Setter와 @RequiredArgsConstructor를 한 번에 사용할 수 있는 숏컷 어노테이션입니다. 다시 말하면, @Data는 POJO와 관련이 있는 모든 재사용 코드를 생성합니다. 모든 필드에 대한 getter, final이 아닌 필드에 대한 setter, 그리고 클래스의 필드와 관련이 있는 적절한 toString과 equals, 그리고 hashCode를 만듭니다. ...

 

라고 쓰여있었다.

 

아무튼 @Data를 사용하면 @Getter, @Setter, @ToString을 명시적으로 사용하지 않아도 된다는 것을 알게 되었다.

나는 @RequiredArgsConstructor보다 @NoArgs... 나 @AllArgs... 를 주로 사용하기 때문에 이것들은 꼭 써줘야 한다는 점을 잊지 말아야겠다.

 

끝!

 

↓출처

https://projectlombok.org/features/Data