본문 바로가기
개발

[Lombok] @Getter

by angeloper 2023. 7. 14.
반응형

Lombok자바 개발자들이 보일러플레이트 코드(boilerplate code)를 줄이고 더 간결하고 효율적인 코드를 작성할 수 있도록 도와주는 유용한 라이브러리입니다. 이 중에서도 Lombok의 @Getter 메서드는 자주 사용되는 메서드 중 하나로, 필드에 대한 getter 메서드를 자동으로 생성해 주는 기능을 제공합니다. 이제부터 Lombok의 @Getter에 대해 자세히 알아보겠습니다.

 

@Getter 어노테이션은 클래스의 필드에 적용되며, 이 어노테이션이 있는 필드에 대해 Lombok은 자동으로 해당 필드에 대한 getter 메서드를 생성합니다. 이렇게 생성된 getter 메서드는 필드의 값을 반환하는 역할을 수행합니다. 따라서 우리는 직접 getter 메서드를 작성할 필요 없이 @Getter 어노테이션을 사용함으로써 코드의 가독성을 향상할 수 있습니다.

 

Lombok의 @Getter를 사용하는 방법은 매우 간단합니다.

먼저, 클래스의 필드 위에 @Getter 어노테이션을 추가하면 됩니다. 예를 들어, 다음과 같은 코드를 살펴보겠습니다:

import lombok.Getter;

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

위의 예시에서는 @Getter 어노테이션을 name과 age 필드 위에 추가했습니다. 이제 Lombok은 자동으로 getName()과 getAge() 메서드를 생성합니다. 따라서 우리는 아래와 같이 생성된 getter 메서드를 사용할 수 있습니다.

 

Person person = new Person();
String name = person.getName();
int age = person.getAge();


위의 코드에서 볼 수 있듯이, @Getter 어노테이션을 사용함으로써 getter 메서드를 간단히 호출할 수 있습니다. 이렇게 필드에 대한 getter 메서드를 자동으로 생성하는 것은 코드 작성과 유지 보수를 더욱 편리하게 만들어줍니다.

 

@Getter 어노테이션은 선택적으로 인자를 받을 수도 있습니다. 예를 들어, @Getter 어노테이션 @Getter(AccessLevel.PROTECTED)와 같이 사용하면, 생성된 getter 메서드의 접근 제어자를 protected로 설정할 수 있습니다. 이렇게 함으로써 필드에 직접 접근하는 것을 방지하고, 캡슐화를 유지할 수 있습니다.

 

또한, Lombok은 다양한 어노테이션을 제공하여 getter 메서드를 더욱 자유롭게 커스터마이징 할 수 있습니다. 예를 들어, @Getter 어노테이션과 함께 @NonNull, @ToString, @EqualsAndHashCode 등의 어노테이션을 함께 사용할 수 있습니다. 이러한 어노테이션들을 적절히 활용하면 필드의 유효성 검사, 객체의 문자열 표현, 객체의 동등성 비교 등을 자동으로 처리할 수 있습니다.

 

하지만, @Getter 어노테이션을 남용하는 것은 코드의 가독성을 해치고 객체의 불변성을 깨뜨릴 수 있습니다. 따라서, Lombok의 @Getter 어노테이션을 사용할 때는 신중하게 선택하고, 필요한 경우에만 사용하는 것이 좋습니다.

 

이상으로 Lombok의 @Getter 메서드에 대한 간략한 설명을 제공해 드렸습니다. @Getter 어노테이션을 사용하면 보일러플레이트 코드를 줄이고, getter 메서드를 간단하게 생성할 수 있으며, 코드의 가독성과 유지 보수성을 향상할 수 있습니다. Lombok은 자바 개발을 보다 즐겁고 생산적으로 만들어주는 훌륭한 라이브러리이니, 적극적으로 활용해 보시기 바랍니다.

반응형