java 8 에 람다 표현식이 도입되면서 closure를 사용하지 않고도 함수형 언어 비슷한 코드를 작성하는게 가능해졌다. 람다 표현식은 이름이 없는 익명 함수를 의미한다.
람다 표현식에 관심을 둬야하는 몇가지 이유는 다음과 같다.
- OOP 언어인 Java에서 함수형 코드를 작성할 수 있게 해준다.
- 람다 표현식을 이용함으로써 간결하고 명확한 코드로 그 의도를 표현할 수 있다.
- Collection filtering, Iteration , Extraction 등에서 놀라운 코드 생산성을 보인다.
아주 아주 기본적인 람다 표현식에 대해 익혀보자.
Syntax
|
0개 이상의 인자를 실행하고자 하는 함수 body 로 전달한다는 의미이며, 이는 람다 표현식의 일반적인 구문이다.
예를 들면 다음과 같이 표현된다.
|
다음 코드는 swing 에서 자주 보이는 이벤트 핸들러를 람다로 변경하는 코드이다.
|
위 코드를 람다 표현식으로 변경하면 다음과 같다.
|
표현식의 또 다른 예로 익명 클래스는 다음과 같이 작성할 수 있다.
|
마지막으로 collection을 다루는 예제만 더 보고 끝내자.
|
이상으로 람다 표현식이 어떻게 코드 수를 줄이고 Java와 함수형 언어 사이의 갭을 매워주는지에 대해 간략히 알아보았다.
이 글의 관련글
- 문자열 오브젝트의 길이는?
- Sun Tech Days 2008 개발자 컨퍼런스 무료 등록자에 선정되다. (4)
- 잘못 알려지거나 무용지물이 된 Java 상식들 (4)
- HTTPURLCONNECTION를 사용하여 웹 페이지 액세스하기 (1)
- 넷빈즈 6.5 출시 (NetBeans 6.5 released)
- Java Profiler JProbe 8.0 출시!! :: 자바 프로파일러
- Java8 Stream API와 Lambda
- finalize 메소드의 오버라이딩을 자제해야 하는 이유.
- InputStream.read()
- 객체 지향론자를 위한 함수 프로그래밍(Functional programming)
- Java 6의 새로운 기능, 향상된 부분.
- 스트럿츠 2.1 릴리즈!! Committer 인터뷰
댓글 ( 9)
댓글 남기기