[java] @Getter와 @Setter 어노테이션의 사용법과 효과는 무엇인가요?
@Getter
와 @Setter
어노테이션은 Lombok 라이브러리에서 제공하는 기능으로, 자바 코드에서 자동으로 getter와 setter 메소드를 생성해주는 역할을 합니다.
이 어노테이션을 사용하면 명시적으로 getter와 setter를 작성하는 번거로움을 줄일 수 있으며, 코드의 가독성을 향상시킬 수 있습니다. 또한, 변경 불가능한(immutable) 객체를 생성하고자 할 때 유용하게 사용될 수도 있습니다.
예를 들어, 아래와 같은 클래스를 작성한다고 가정해봅시다:
public class Person {
private String name;
private int age;
// Getter와 Setter 메소드 작성
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
위와 같이 수동으로 getter와 setter를 작성하는 것은 반복적이고 번거로울 수 있습니다. 하지만, @Getter
와 @Setter
어노테이션을 사용하면 아래와 같이 코드를 간소화할 수 있습니다:
import lombok.Getter;
import lombok.Setter;
@Getter
@Setter
public class Person {
private String name;
private int age;
}
위 코드에서는 @Getter
어노테이션으로 getName()
과 getAge()
메소드가, @Setter
어노테이션으로 setName()
과 setAge()
메소드가 자동으로 생성됩니다.
이런식으로 어노테이션을 사용하여 getter와 setter 메소드를 자동으로 생성하면, 번거로운 작업을 줄이고 코드의 가독성을 향상시킬 수 있습니다. 참고로, Lombok은 자바 코드에서 getter와 setter 생성 외에도 다양한 기능을 제공하는데, 자세한 내용은 Lombok 공식 문서를 참고하시기 바랍니다.
참고문서: Lombok 공식 문서