@Data

2023. 2. 24. 15:38@Annotaion Book

@Data는 Lombok 라이브러리에서 제공하는 어노테이션 중 하나로, Getter, Setter, equals(), hashCode(), toString() 등의 메서드를 자동으로 생성해주는 기능을 제공합니다.

아래는 @Data 어노테이션을 사용한 예시 코드입니다.

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

위 코드에서는 @Data 어노테이션을 사용하여 User 클래스에 Getter, Setter, equals(), hashCode(), toString() 등의 메서드를 자동으로 생성하도록 설정하고 있습니다. User 클래스에서는 id, name, age 필드가 선언되어 있습니다. 이렇게 생성된 Getter, Setter, equals(), hashCode(), toString() 등의 메서드를 사용하여 객체를 생성하거나 필드 값을 변경할 수 있습니다.

@Data 어노테이션은 @ToString, @EqualsAndHashCode, @Getter, @Setter 어노테이션 등의 어노테이션을 대체할 수 있습니다. 이들 어노테이션은 각각 toString(), equals(), hashCode(), Getter, Setter 메서드를 자동으로 생성해주는 기능을 제공합니다. @Data 어노테이션을 사용하면, 이들 어노테이션들을 모두 대체할 수 있기 때문에 코드 작성을 간편하게 만들어 줍니다.

하지만 @Data 어노테이션을 사용할 경우, 모든 필드가 Getter와 Setter 메서드를 가지게 되므로, 필드 중 일부가 외부에서 수정될 필요가 없는 경우에는 @Getter 또는 @Setter 어노테이션 대신 @ToString 또는 @EqualsAndHashCode 어노테이션을 사용하는 것이 좋습니다.

'@Annotaion Book' 카테고리의 다른 글

@Autowired  (0) 2023.02.24
자주 사용하는 어노테이션  (0) 2023.02.24
@RequiredArgsConstructor  (0) 2023.02.24
@RestController  (0) 2023.02.24
@PreAuthorize  (0) 2023.02.24