티스토리 뷰

study/Java

람다 (Lambda)

xoxowo 2023. 2. 3. 21:00

람다 (Lambda)

메서드를 하나의 식으로 표현한 것 (≒ 함수 (메서드)를 간단히 표현하는 것)

메서드를 람다식으로 표현하면 메서드의 이름과 반환값이 없어지므로, 람다식을 '익명 함수'라고도 한다.

 

 

작성법

메서드 이름과 반환타입을 제거하고 매개 변수 선언부와 몸통 {} 사이에 '→' 추가한다.

 

※ 매개 변수 선언부의 타입을 일부만 생략하는 것은 허용되지 않는다.

몸통 { } 안의 문장이 return 문일 경우 괄호를 { } 생략할 수 없다.

// 기본 메서드 선언
반환타입 메서드이름 (매개변수 선언) {
	문장들
}

// 람다식 
(매개변수 선언) -> {
	문장들
}

 

 

예시

// 일반 메서드 
int max(int a, int b){
	return a > b ? a : b;
}

// 람다식 표현
(int a, int b) -> a > b ? a : b;

// int 생략 가능 
(a, b) -> a > b ? a : b;

// 매개변수 타입의 일부 생략은 불가
(int a, b) -> a > b ? a : b;

// 매개변수가 하나인 경우 괄호 생략 가능. (타입이 있다면 생략 불가능)
a -> a * a

 

 

'study > Java' 카테고리의 다른 글

쓰레드 (Thread)  (0) 2023.01.02
인터페이스 (interface)  (0) 2022.12.26
추상 클래스 & 메서드  (0) 2022.12.22
제어자 (modifier)  (0) 2022.12.20
오버라이딩 (overriding)  (0) 2022.12.17
댓글