[Android] lombok 사용하기

Jinny·2021년 2월 7일
0

Android

목록 보기
6/32
post-thumbnail

🚩 lombok 이란?

lombok은 멤버 필드에 대한 접근자와 설정자(Getter/Setter), 생성자 등을 자동 생성하여 Annotation을 이용하여 사용할 수 있게 해주는 라이브러리다.

Android app을 무겁지 않은 상태로 만들어 준다.

🚩 설치 방법

    1. File - Settings - Plugins 를 눌러 Lombok 검색
    1. install을 눌러 설치!
    1. 설치 후 Restart IDE로 변경되면 클릭하여 재시작
    1. build.gradle(Module:app)의 dependencies에 아래 두줄 추가
compileOnly 'org.projectlombok:lombok:1.18.12'
annotationProcessor 'org.projectlombok:lombok:1.18.12'

💁‍ 약간의 TMI : ROOM과 함께 사용하는 경우;

lombok의 annotationProcessor 선언이 Room 선언보다 위에 있어야 한다.(중요!!)

🚩 lombok Annotation 종류

@Getter, @Setter, @ToString, @EqualsAndHashCode, @~~~ArgsConstructor, @Data

◾ @Getter / @Setter

: 멤버 필드에 대한 getter/setter를 만들어 준다.
전체 멤버 필드에 Getter을 적용시키려면 class 선언 앞에 @Getter 를 쓰면 된다.

💁‍ 꿀팁 : @Accessors(prefix = "m")

변수명을 mAge로 하고 싶은 경우 getMAge로 생성되버린다!!
이를 방지하고 싶다면 아래와 같이 @Accessors를 사용하면 된다.

◾ @ToString


위와 같이 Test 클래스에 @ToString을 달아주면 모든 멤버 필드의 저장되어 있는 값을 출력할 수 있다.
혹시 name값만을 포함시키고 싶다면 @ToString(exclude="age") 또는 @ToString(of="name") 라고 써주면 된다.

◾ @ EqualsAndHashCode

equals(Object) & hashCode() 메소드를 오버라이드한다.

  • @ToString 처럼 exclude, of 파라미터를 사용할 수 있다.

◾ @ ~~~ArgsConstructor

클래스의 생성자를 만들어준다.
종류는 @NoArgsConstructor / @AllArgsConstructor / @RequiredArgsConstructor 3가지가 있다.
중복 사용이 가능하다.
자세한 부분은 내용이 길어 따로 포스팅을 할 예정이다.

◾ @ Data

위의 Annotation(@RequiredArgsConstructor포함)을 모두 합친 듯한 효과를 준다.
하지만 세부적인 설정을 하려면 Annotation을 각각 붙여줘야 한다.


출처 : Project lombok
profile
신입 개발자👩‍💻

0개의 댓글