■ 람다식 (Lambda)
오늘은 람다식에 대해 정리하겠습니다.
람다식은 자바8부터 추가된 개념으로 '식별자 없이 실행 가능한 익명의 함수 표현식'입니다.
이렇게 개념만 보면 약간 이해가 안가고 헷갈릴 수 있는데요.
사용 방법은 다음과 같습니다.
(parameter) -> body |
(parameter) -> { body } |
() -> body |
() -> { body } |
더 이해가 안간다고 하시는 분들이 계시겠네요...
너무 단순하죠? 이게 바로 람다의 장점이자 단점이 되는 것 입니다.
기존의 불필요한 코드를 줄이고 가독성을 향상시켰다는 아주 큰 장점이 특징입니다.
장점과 동시에 이는 또한 너무 줄여버린 나머지...
람다에 익숙하지 않는 사람에게는 모호하다는 것이 단점이기도 해요.
● 기존 코드 vs 람다식 코드
실제 예제를 몇개 보면서 이해를 좀 더 해봅시다.
1. 간단한 String을 출력하는 코드
1-1. 기존 방식
public void Print(ActionEvent actionevent) { System.out.println("Hello"); } |
1-2. 람다 방식
actionevent -> System.out.println("Hello"); |
위 두가지를 보시니 람다식을 어떻게 사용하는지 이해가 가시나요?
1번 예제는 위의 방법 중 4번째 방법인 () -> { body } 형태를 사용했습니다.
이 처럼 기존 코드에 비해 코드량이 줄어들어 이해가 쉽게 느껴지시나요?
2. 간단한 연산 코드
예제를 하나 더 보겠습니다. 간단한 sum을 하는 코드를 작성해 보겠습니다.
2-1. 기존 방식
public int Sum(int a, int b) { return a+b; } |
2-2. 람다 방식
sum = (a,b) -> a+b; |
1번과 2번 예제를 통해 람다식을 어떻게 사용하는지에 대해서 이해하셨으면 합니다.
물론 위의 출력 및 연산 예제는 기존 방식도 간단하고 직관적으로 짜여있는데요.
그래서 왜 람다식이 필요한가? 생각하실 수도 있습니다.
하지만 람다식은 인터페이스를 구현하는 등의 보다 복잡한 코드에서 그 빛을 발휘한답니다.
또한 이전 포스팅인 스트림에서도 유용하게 사용되니 이처럼 간단한 개념은 꼭 숙지하길 바래요
이상으로 람다식에 대한 간략한 정의 및 예제를 마치겠습니다.
감사합니다.
'Java' 카테고리의 다른 글
[Java-14] 어노테이션 (0) | 2017.05.08 |
---|---|
[Java-13] 제네릭 (0) | 2017.03.18 |
[Java-11] 스트림 (Stream) (0) | 2017.03.02 |
[Java-10] 예외 처리(Exception) (0) | 2017.02.18 |
[Java-9] 추상클래스, 추상메소드, 인터페이스 (0) | 2017.02.12 |