Java:Lombok Annotation

aiden·2023년 11월 20일

Java

목록 보기
28/30

Lombok Annotation

자바에서 사용하는 어노테이션 중, Lombok 라이브러리가 제공하는 주요 어노테이션에 대해 알아보겠다.

  • @Getter / @Setter: getter와 setter 메소드를 자동으로 생성한다. 클래스에 어노테이션을 붙이면 클래스 내 모든 필드에 대해 메소드가 생성되며, 필드 단위로 붙이면 해당 필드에 대해서만 생성된다.
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;
}
  • @Data: @Getter, @Setter, @ToString, @EqualsAndHashCode, @RequiredArgsConstructor를 한 번에 적용해준다. 클래스의 모든 필드에 대한 getter, setter, toString, equals, hashCode 메소드가 생성되며 final로 선언된 필드를 매개변수로 하는 생성자가 자동으로 생성된다.
profile
파인애플 좋아하세요?

0개의 댓글