본문 바로가기

프로그래밍/Spring Boot

[Spring] Lombok Annotation에서의 Data

@Data

@Data 는 Lombok에서 여러 기능을 내포한 어노테이션이라고 생각하면 된다.

다음과 같은 기능들을 구현한다.

 

@ToString

: toString() 메소드를 자동으로 생성해준다.

객체를 문자열 형태로 반환해주는 메소드이다.

 

- 어노테이션을 사용하지 않을 때

public class Example {
    private String name;
    private int age;
    private String email;

    // Constructor, getters, and setters

    @Override
    public String toString() {
        return "Example{" +
               "name='" + name + '\'' +
               ", age=" + age +
               ", email='" + email + '\'' +
               '}';
    }
}

 

- 어노테이션을 사용했을 때

import lombok.ToString;

@ToString
public class Example {
    private String name;
    private int age;

    // Getters, setters, constructors 등
}

 

@EqualsAndHashCode

: equals() 메소드, hashCode() 메소드 자동으로 오버라이딩하여 생성해주는 어노테이션

둘 다 객체의 내용이 동등한지에 대하여 비교를 하기 위한 연산자이다

equals -> 객체의 내용이 동일한지 내용만 떼어와 비교

hashCode -> 객체가 동일한 객체인지를 비교

 

@Getter

: Get 메소드 자동으로 생성해준다.

필요한 필드의 정보값을 가져온다

 

@Setter

: Setter 수정자 메소드를 자동으로 생성해준다.

필요한 필드의 값 수정을 원활하게 해준다.

 

@RequiredArgsConstructor

: 필요한 생성자에 대하여 자동으로 생성해주는 어노테이션이다.

 

위의 기능들을 Data Annotation을 통하여 구현이 가능하기 때문에 자주 사용한다

 

 


REF

https://projectlombok.org/features/Data

 

@Data

 

projectlombok.org