[Spring] @Data,

@데이터, @AllArgsConstructor, @NoArgsConstructor

롬복이것은 라이브러리에서 제공하는 주석입니다.

getter/setter 메서드, 생성자 내 등 자동으로 생성하는 기능을 제공합니다

@데이터

클래스의 모든 필드에 대해 Getter, setter, toString, equals 및 hashCode 메서드가 자동으로 생성됩니다.

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

Person person = new Person();
person.setName("John");
person.setAge(30);
person.setEmail("[email protected]");
System.out.println(person.getName()); // "John"
System.out.println(person.getAge()); // 30
System.out.println(person.getEmail()); // "[email protected]"

@AllArgs 생성자

모든 필드를 인수로 사용하는 생성자를 자동으로 생성합니다.

@Data
@AllArgsConstructor
public class Person {
    private String name;
    private int age;
    private String email;
}

Person person = new Person("John", 30, "[email protected]");

@NoArgs 생성자

매개변수 없이 기본 생성자를 자동으로 생성합니다.

@Data
@AllArgsConstructor
@NoArgsConstructor
public class Person {
    private String name;
    private int age;
    private String email;
}

Person person1 = new Person(); // 파라미터가 없는 생성자 호출
Person person2 = new Person("John", 30, "[email protected]");

위의 예에서는 Lombok을 사용하여 클래스에 대한 getter/setter 메서드 및 생성자를 자동으로 생성합니다.

이것은 코드의 길이를 줄이고 코드의 가독성을 향상시킬 수 있습니다.

또한 필드 추가/삭제와 같은 변경을 수행할 때 getter/setter 메서드 및 생성자를 수동으로 수정할 필요가 없기 때문에 코드 유지 관리성이 향상됩니다.