[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 속성으로 특정 필드만 제외 가능. )
Lombok @Data의 @EqualsAndHashCode이 뭐하는 애일까?
lombok 라이브러리를 애용하다보면, 자주 사용하게 되는 애노테이션들이 있다. (너무 편리하게 애용하고 있다)하지만, 그마저도 자주쓰는 애노테이션끼리 묶어 @Data라는 애노테이션이 있는데, @Get
velog.io