Java

[Java-12] 람다식 (Lambda)

zamezzz 2017. 3. 11. 01:12

■ 람다식 (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