Java

[자바 8] 람다 표현식

문승주 2023. 9. 18. 00:03
반응형

 내용은 라울-게이브리얼 우르마, 마리오 푸스코, 앨런 마이크로프트의 "모던 자바 인 액션" 책을 보고 정리한 내용입니다. 저작권 보호를 위해 책의 내용은 요약되었습니다.

 

람다 표현식이란?

  • 람다 표현식은 익명 함수를 단순화하여 코드를 더 간결하고 가독성 있게 만들어주는 표현식이다.
  • 함수형 프로그래밍 개념을 자바에 도입한 중요한 기능 중 하나이다.
  • 람다 표현식은 파라미터, 화살표, 바디로 이루어져 있다.
  • void를 반환하는 메소드와 호출은 중괄호가 필요없다.

예시) 두 사람의 나이를 비교한다.

 // 1. 파라미터 리스트 : (Member member1, Member member2)
 // 2. 화살표 : ->
 // 3. 람다 바디 : member1.getAge().compareTo(member2.getAge())
 (Member member1, Member member2) -> member1.getAge().compareTo(member2.getAge());
  1. 파라미터 리스트 : (Member member1, Member member2)는 Comaparator compare 메서드의 파라미터이다.
  2. 화살표 : 화살표(->)는 람다의 파라미터와 바디를 구분한다.
  3. 람다 바디 : 두 member의 나이를 비교하는 식이다.

예시) void 반환 시 중괄호가 필요없다.

voidProcess(() -> System.out.println("sjmoon"));

 

람다의 특징

1. 익명

보통의 메서드와 달리 이름이 없어 익명이라고 표현한다.

2. 함수

람다는 클래스에 종속되지 않기에 함수라 부르고, 리스트처럼 파라미터 리스트, 바디, 반환 형식이 가능하다.

3. 전달

람다 표현식은 변수로 저장하거나 매서드의 인수로 전달할 수 있다.

4. 간결성

익명클래스에 비해 간결한 코드를 구현할 수 있다.

반응형