본문 바로가기

java

[Lombok] boolean 타입의 Getter/Setter 메서드("is" prefix)

자동으로 Getter, Setter 등의 반복적인 메서드를 어노테이션을 통해 생성할 수 있어 Lombok 라이브러리를 자주 사용하게 되는데, boolean 타입의 필드에 대한 getter를 사용하려고 보니 get* 형식으로 메서드명을 찾을 수가 없어서 내용을 알아보았다.

 

 

import lombok.Getter;
import lombok.Setter;

public class Example {
    @Getter @Setter private boolean active;
}

 

이 코드에서 active 필드에 대한 Getter 메소드가 자동으로 생성될 때 메서드명은 'isActive()'가 된다.

즉 필드명 앞에 'is'가 붙으면서 가독성 측면에서 유리하고 의도를 더 명확하게 전달할 수 있도록 했다.

 

 

import lombok.Getter;
import lombok.Setter;

public class Example {
    @Getter @Setter private boolean isActive;
}

 

그러다보니 isActive 필드의 경우 이에 대한 Getter 메서드와 중복이 되고 데이터 접근 시 is를 생략한 active로 확인이 된다. Setter 메서드 역시 setActive()가 된다.

 

 

 

해결방법은...

참조형 객체타입인 Booleanget*의 형식을 따르기 때문에 대안이 될 수 있다. 하지만 null 허용이 되므로 나는 그냥 변수명을 고치는 것으로 했다!