본문 바로가기

Java/공부공부

[Java] Lombok @ 어노테이션

 

* Lombok

Java 코드 작성을 도와주는 라이브러리. 어노테이션 기반으로 코드 자동생성. 


https://www.daleseo.com/lombok-popular-annotations/

 

[자바] 자주 사용되는 Lombok 어노테이션

Engineering Blog by Dale Seo

www.daleseo.com


 

[ Lombok 어노테이션 ]

 

 - @Getter, @Setter

   클래스 필드에 대한 getter / setter 메서드를 자동 생성.

 - @Data 

   @Getter, @Setter, @ToString, @EqualsAndHashCode, @RequiredArgsConstructor 를 자동 적용.

 

 - @NoArgsConstructor 

  파라미터가 없는 기본 생성자 자동생성.

 - @AllArgsConstructor 

  모든 필드값을 파라미터로 받는 생성자 생성.

 - @RequiredArgsConstructor

   final이나 @NonNull인 필드 값만 파라미터로 받는 생성자 생성.

새로운 필드를 추가할 때 다시 생성자를 만들어서 관리해야 하는 번거로움 생략. (@Autowired 사용하지 않고 의존성 주입)

 

 - @ EqualsAndHashCode

   equals() , hashCode() 메서드 자동생성.

   > callSuper = false  (기본값) 자신 클래스의 필드값만 고려. 

   > callSuper = true    부모 클래스 필드 값들까지 체크.

 

   * equals() , hashCode() 

더보기

 

 - equals() : 같은 객체인지 확인하는 메소드

 - hashcode() : 두 객체 내부의 값이 같은지 숫자로 확인하는 메소드 

 

 - @ToString

toString() 메소드 자동 생성. ( exclude 속성으로 특정 필드만 제외 가능. )

 


https://velog.io/@gloom/Lombok-Data%EC%9D%98-EqualsAndHashCode%EC%9D%B4-%EB%AD%90%ED%95%98%EB%8A%94-%EC%95%A0%EC%9D%BC%EA%B9%8C

 

Lombok @Data의 @EqualsAndHashCode이 뭐하는 애일까?

lombok 라이브러리를 애용하다보면, 자주 사용하게 되는 애노테이션들이 있다. (너무 편리하게 애용하고 있다)하지만, 그마저도 자주쓰는 애노테이션끼리 묶어 @Data라는 애노테이션이 있는데, @Get

velog.io