자바에서 사용하는 어노테이션 중, Lombok 라이브러리가 제공하는 주요 어노테이션에 대해 알아보겠다.
public class Main {
public static void main(String[] args) {
Person p = new Person();
p.setAge(10);
p.setName("John");
p.getAge();
p.getName();
}
}
@Getter
@Setter
class Person{
int age;
String name;
}
@NoArgsConstructor: 매개변수가 없는 기본 생성자를 자동으로 생성한다.
@RequiredArgsConstructor : final로 선언된 필드를 매개변수로 하는 생성자를 자동으로 생성한다.
@AllArgsConstructor : 모든 필드를 매개변수로 받는 생성자를 자동으로 생성한다. 예를 들어, 클래스의 필드가 5개 존재하는 경우 5개의 필드를 모두 인자로 받는 생성자가 생성된다.
다음과 같이 앞서 공부한 생성자 관련 어노테이션 3개를 모두 적용할 수 있다.
@NoArgsConstructor //public Person(){ }
@RequiredArgsConstructor //public Person(String name){ this.name = name; }
@AllArgsConstructor //public Person(int age, String name, String address){ this.age = age; this.name = name; this.address = address; }
public class Person {
private int age;
final private String name;
private String address;
}