본문 바로가기
언어(Language)/Java

[Java] Lombok 어노테이션

by 송기동 2024. 2. 24.
728x90

롬복 (Lombok)

- Java 개발자가 보일러플레이트 코드를 줄이고 개발 생산성을 향상시키기 위한 라이브러리

- 어노테이션을 사용하여 컴파일 시점에 코드를 자동으로 생성해주는 기능을 제공

- 이를 통해 Getter, Setter, 생성자 등 반복적으로 작성해야 하는 코드를 자동으로 생성할 수 있음

 

@Getter

- 필드에 대한 Getter 메서드 자동 생성

- 필드의 값을 반환하는 역할

- 필드의 접근제어자가 'private' 이 아닌 경우에만 생성

- 'static' 필드나 'final' 필드에는 생성 X

 

@Setter

- 필드에 대한 Setter 메서드 자동 생성

- 필드의 값을 설정하는 역할

- 필드의 접근제어자가 'private' 이 아닌 경우에만 생성

- 'final' 필드에는 생성 X

 

@Data

- 클래스에 @Getter, @Setter, @ToString, @EqualsAndHashCode, @RequiredArgsConstructor 어노테이션을 모두 적용

 

@NoArgsConstructor

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

- 기본 생성자를 생성할 때 'final'이나 '@NonNull'으로 표시된 필드를 초기화하지 않음

 

@AllArgsConstructor

- 모든 필드를 파라미터로 받는 생성자를 자동 생성

 

@RequiredArgsConstructor

- 클래스의 final, non-null 필드에 대한 생성자를 자동 생성

 

@Builder

- 빌더 패턴을 사용하여 객체를 생성할 수 있도록 해줌

- 객체 생성 시 각 필드를 지정할 수 있고 가독성이 높고 유연한 객체 생성을 할 수 있음

 

@EqualsAndHashCode

- equals( ), hashcode( ) 메서드를 자동 생성

 

@ToString

- toString( ) 메서드를 자동 생성

- 객체의 문자열을 반환

 

@Value

- 불변(Immutable) 클래스를 생성

- 객체를 생성 후 내부 상태를 변경할 수 없음

728x90

'언어(Language) > Java' 카테고리의 다른 글

[Java] Scanner 클래스  (1) 2025.04.24
[Java] 생성자  (28) 2024.02.21
[Java] 접근 제어자, 정보은닉, 캡슐화  (19) 2024.02.14
CURD기능 활용해서 책스토어 프로그램 만들어보기  (20) 2023.08.11
get,set 메서드  (21) 2023.08.11