📜 TIL

[Android] Kotlin 파일은 Java파일의 Lombok 라이브러리와 호환되기 힘들다

둥굴둥굴둥굴레차 2022. 10. 19. 10:45

📌 문제

재직중인 회사의 Java와 Android Studio 기반 어플리케이션을 Java언어에서 Kotlin으로 컨버팅하라는 업무 지시가 내려졌다. 컨버팅 하던 중 Java파일로 실행하였을 땐 괜찮았던 get메서드가 인식이 되지 않았다.

 

소스를 분석해보니 Java파일에선 lombok 라이브러리를 사용해 getter/setter를 생성해주었었다.

즉, Kotlin 파일이 lombok라이브러리의 getter/setter을 인식하지 못하고 있는 것이었다.

 

🎈 결정

이에 대해 많은 고민을 하였지만 결국 기존 Java코드에서 lombok 라이브러리를 제거하면서 까지 Kotlin으로 컨버팅하기로 결정하였다.

 

비록 Lombok을 사용함에 따라 얻을 수 있었던 코드의 간결함이란 장점을 포기해야하지만, Kotlin으로 컨버팅 하는 과정이 더 우선시되어야 한다고 생각했다.

앞으로 자사 모든 Android 앱에서는 Kotlin을 적극 사용할 예정이기 때문에 차차 Kotlin 사용에 대비해야함

Lombok에 대해 포기하지 않는다면 컨버팅 작업이 더뎌질 것임

 

✨ 조치

따라서 VO를 다음과 같이 바꿔주는 작업을 진행했다.

public class ResponseResult {

    private ResponseHeader header;

    // private인 header의 getter/setter 직접 만들어주었다.
    public ResponseHeader getHeader() {
        return header;
    }

    public void setHeader(ResponseHeader header) {
        this.header = header;
    }
}

 

REFERENCE

NAVER D2