Java/Spring

Java 람다식이란?

B.OCK 2024. 1. 16. 14:24
반응형

람다식이란?

JDK 1.8 부터 추가된 람다식(Lambda Expression)은 메서드를 하나의 식(Expression)으로 표현한것이다.

람다식은 함수를 간략하면서도 명확한 식으로 표현할 수 있다.

이러한 람다식은 메서드의 이름과 반환값을 제거할 수 있어 "익명함수" 라고도 한다.

 

람다식 형태

// 람다식 형태
(매개변수, ...) -> { 실행문 }

// 일반 메서드
public int sum(int a, int b){
	return a + b;
}

// 일반 메서드를 람다식으로 변환
(int a, int b) -> { return a + b; };

 

위와 같이 람다식 형태는 익명함수처럼 메서드의 이름과 반환 타입을 제거하고 선언부와 몸통 사이에 -> 를 추가한다.

-> 가 있음으로써 왼쪽 매개변수를 이용해서 중괄호{} 를 실행한다는 뜻이다.

 

메서드의 중괄호 {} 안에서 return 문 1개만 존재할 경우 람다식에선 return 문과 중괄호를 생략할 수 있다.

(int a, int b) -> a + b

 

또한 람다식에 선언된 매개변수의 타입은 추론이 가능한 경우에 타입은 생략이 가능하다.

(a, b) -> a + b

 

 

주의점


(a) -> a + a
// 변환
a -> a + a

// 주의
(int a) -> a + a            (OK)
int a -> a + a               (NO)

 

위 내용처럼 매개변수가 하나뿐인 경우 괄호를 생략할 수 있다.

하지만 매개변수의 타입이 설정되어 있으면 괄호를 생략할 수 없다.

 

 

 

 

반응형