티스토리 뷰

Lombok 어노테이션 (코드 자동 생성) <=개꿀

반복되는 코드를 줄여주는 라이브러리.

 

    

    @Getter, @Setter

    - 설명: 각 필드의 게터, 세터 메서드를 자동으로 생성.

    - 특정 필드 or 클래스 전체의 접근자 메서드를 만들고 싶을 때 이용.

@Getter
@Setter
public class User {
    private String name;
    private int age;
}

 

 

    @NoArgsConstructor

    - 설명: 기본생성자(파라미터가 없는 생성자)를 자동으로 생성.

    - JPA Entity나 DTO에서 기본 생성자가 필요한 경우 사용.

@AllArgsConstructor
public class User {
    private String name;
    private int age;
}

 

 

    @AllArgsConstructor

    - 설명: 모든 필드를 파라미터로 받는 생성자를 생성.

    - 테스트나 객체 생성시 모튼 필드를 빠르게 초기화 하고 싶을 때 사용.

@AllArgsConstructor
public class User {
    private String name;
    private int age;
}

 

 

    @RequiredArgsConstructor

    - 설명: final 필드나 @NotNull 필드만을 파라미터로 받는 생성자를 생성.

    - 의존성 주입(DI) 시 final 필드에 대한 생성자 자동 생성이 필요할 때. 사용.

@RequiredArgsConstructor
public class UserService {

    private final UserRepository userRepository;

    @NonNull
    private String serviceName;

    private int counter; // 포함되지 않음
}

 

위 클래스는 다음과 같은 생성자를 자동으로 생성한다.

public UserService(UserRepository userRepository, String serviceName) {
    this.userRepository = userRepository;
    this.serviceName = serviceName;
}

 

 

    @Data

    - 설명: @Getter, @Setter, @ToString, @EqualsAndHashCode, @RequiredArgsConstructor

               등을 모두 포함한 어노테이션

    - 복잡한 로직에서는 EqualsAndHashCode나 ToString 오버라이딩 문제로 사용 주의.

@Data
public class User {
    private String name;
    private int age;
}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

'JAVA' 카테고리의 다른 글

Spring 어노테이션@ (프레임워크 기능 정의)  (1) 2025.06.09
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2026/06   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함