[Java] Lombok에서 boolean타입 프로퍼티에 대한 get,set

·2024년 4월 9일
0

문제상황

package model.domain;

import lombok.Getter;
import lombok.Setter;

import java.time.LocalDate;

@Getter
@Setter
public class Todo {

    private static int idCnt=0;

    private String title;
    private boolean isDone;
    private int id;
    private LocalDate createdAt;

    public Todo(){}

    public Todo(String title){

        this.title=title;
        this.isDone=false;
        this.createdAt= LocalDate.now();
        this.id =getNextId();
    }

    public static int getNextId(){
        return idCnt++;
    }

}


위와 같은 Todo객체에 대해, lombok의 어노테이션을 붙였음에도 getDone()이 호출되지 않음.

해결

getisDone대신 isDone을,
setisDone대신 setDone을 사용하면 된다.

원인

Lombok의 동작방식 자체가 그렇다.
lombok 공식문서
https://projectlombok.org/features/GetterSetter
Lombok 공식문서 내용임

is로 시작하는 Boolean타입에 대해서는 'get'접두사 대신 'is'접두사를 사용한다고 나와있다!

profile
풀스택 호소인

0개의 댓글