안드로이드 스튜디오 Lombok 사용하기

728x90

객체지향 프로그래밍을 하다 보면 Getter와 Setter 등을 필수적으로 사용하게 된다.

 

물론 Eclipse나 Intellij, Android Studio 등 대부분의 IDE에서 속성(변수)을 만들어 놓으면 클릭 몇 번으로 Getter, Setter를 생성할 수 있지만 Model의 개수가 많아지거나 속성이 많아진다면 매번 생성하는 것도 번거롭고 코드의 양도 비약적으로 상승하게 된다.

 

이때 설치 한 번으로 편리하게 사용할 수 있는 라이브러리가 Lombok이다.

 

Lombok 이란?


Lombok(롬복)이란 Java에서 제공하는 라이브러리로 Annotation을 통해 컴파일 과정에서 반복되는 소스코드를 생성해 준다.

 

즉, 개발자가 보는 코드 레벨에서는 불필요한 반복코드를 생략함으로써 생산성을 향상하고 가독성과 유지보수 측면에서 장점이 있는 라이브러리다.

 

하지만 Annotation을 사용하기 때문에 개발자에 따라 직관성이 떨어져 보일 수 있고 API의 동작 방식을 어느 정도 숙지해야 다른 라이브러리와의 충돌 등에 대한 문제에 대처할 수 있기 때문에 호불호가 갈리는 라이브러리이기도 하다.

 

안드로이드 스튜디오에 Lombok 적용하기


직접 Lombok 사이트로 가서 jar 파일을 다운로드할 수도 있지만 안드로이드 스튜디오에서는 Plugin을 제공하기 때문에 간단하게 설치하여 적용할 수 있다.

 

Lombok PluginLombok Plugin
Lombok Plugin

File -> Settings에서 Plugins를 누르고 lombok을 검색하면 가장 많이 설치되어 위에 뜨는 Lombok을 Install 하면 된다.

 

Restart IDE
Restart IDE

Install이 완료되면 Restart IDE로 문구가 바뀌는데 IDE가 시작될 때 적용되므로 클릭해서 재시작해준다.

 

참고로 지금 당장 적용 할 필요가 없다면 나중에 IDE 킬 때 자동으로 적용된다.

 

Dependencies
Dependencies

Lombok을 설치했다면 이제 build.gradle(Module:app)에 의존성을 추가해야 한다.

 

compileOnly 'org.projectlombok:lombok:1.18.16'
annotationProcessor 'org.projectlombok:lombok:1.18.16'

dependencies에 위 두 줄을 추가하고 Sync Now를 클릭해서 동기화를 시켜준다면 Lombok을 사용할 준비가 끝난다.

 

Lombok 적용 예시
Lombok 적용 예시

사용 방법은 사진에 보이다시피 상당히 간단하다.

 

@Getter, @Setter

각 속성에 대한 Getter, Setter 메서드를 제공한다.

 

@NoArgsConstructor, @AllArgsConstructor, @RequiredArgsConstructor

@NoArgsConstructor 어노테이션은 파라미터가 없는 생성자를, @AllArgsConstructor 어노테이션은 모든 속성 값을 파라미터로 갖는 생성자를, @RequiredArgsConstructor 어노테이션은 final이나 @NonNull 어노테이션을 갖는 속성 값만 파라미터로 갖는 생성자를 제공한다.

 

@ToString

모든 속성값을 문자열로 바꿔주는 toString 메서드를 자동 생성한다.

 

@DATA

모든 어노테이션을 포함하여 제공한다.

728x90

댓글()