Android Lambda(RetroLambda)

람다식 혹은 람다 함수라 불리는 것은 새로운 트렌드에 등장하기 시작한 개념으로서 Anonymous function을 지칭한다. 배우기 어렵고 이해하기 까다로운 단점이 존재하지만 실무적으로 간결화되는 코드, 지연연산을 통한 퍼포먼스의 향상, 이터레이션 코드 구현의 정리 되는 점 들이 중요하게 여겨지고 있다. 이런 방법들을 활영한 프로그래밍 기법이 Closure이다.

JAVA 8버전 부터 람다식을 지원한다. 하지만 안드로이드에서는 (2016년 5월 기준) JAVA 6, 7버전을 지원 하기 때문에 람다식을 사용할 수 없다. 하지만 안드로이드에서도 사용할 수 있게 Retrolambda플러그인을 사용하여 람다식을 사용 할 수 있다.

Retrolambda 플러그인을 안드로이드 스튜디오에서 사용하기 위한 설정법은 다음과 같다. (jdk 8버전의 설치는 생략 한다.)

 

1. 프로젝트 의 build.gradle에서 build script 설정

프로젝트의 build.gradle 파일에 mavenCentral() 리포지터리와, 사용된 플러그인의 클래스패스를 설정 한다.

 

2. 앱 build.gradle에서 플러그인 적용 하기
apply plugin: 'me.tatarka.retrolambda'

플러그인 적용 스크립트를 앱의 build.gradle파일의 상단 ‘apply plugin’에 추가 해 준다.

 

3. jdk의 빌드 버전을 재정의

jdk 8 버전을 사용함을 IDE에 알린다.

 

간단한 사용법

어떠한 뷰에 대한 onClickListener를 익명 클래스로 구현하여 사용할때 일반적인 코드는 다음과 같다.

하지만, 람다식을 적용하면 다음과 같이 간결하게 구현하여 사용 할 수 있다.

한눈에 봐도 소스가 매우 간결해 짐을 확인 할 수 있다.

 

나중에 사용하게 될 RxAndroid(RxJAVA)와 연계해서 사용하는 경우가 많다고 한다. forEach등의 구분 여부도 좀 찾아봐야 할거 같다.

 

You may also like

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.