JAVA/자바의 정석

[자바의 정석 - 기초편] 14. (1) 람다식 Lambda Expression ( 작성 / 주의사항 / 함수형 인터페이스 )

서영22 2023. 12. 21. 21:32

 람다식 (Lambda Expression) 

- 함수(메서드)를 간단한 '식(Expression)'으로 표현하는 방법

 

 

- 익명 함수 ➔ 이름이 없는 함수 (anonymous function)

 

 

- 함수와 메서드의 차이

근본적으로는 동일

함수 = 일반적 용어         /  메서드 = 객체지향개념 용어
함수 = 클래스에 독립적  /  메서드 = 클래스에 종속적

 

 

 

 람다식 작성하기 

1. 메서드의 이름과 반환타입을 제거하고 ' -> '를 블록{} 앞에 추가한다

 

 

 

2. 반환값이 있는 경우, 식이나 값만 적고 return문 생략 가능 (끝에 ' ; ' 안붙임)

 

 

 

3. 매개변수의 타입이 추론 가능하면 생략 가능

 

 

 

 

 람다식 작성시 주의사항 

1. 매개변수가 하나인 경우, 괄호() 생략 가능 (타입이 없을 때만)

 

 

 

2. 블록 안의 문장이 하나뿐 일 때, 괄호{} 생략 가능 (끝에 ' ; ' 안붙임)

 

 

단, 하나뿐인 문장이 return문이면 괄호{} 생략 불가

 

 

 

 

 람다식 예 

 

 

 

 람다식 특징 

- 람다식은 익명 함수가 아니라 익명 객체이다

- 람다식(익명 객체)을 다루기 위한 참조변수가 필요. 참조변수 타입은?

 

 

 

 함수형 인터페이스 

➔ 람다식을 이용하기 위해 사용함

 

단 하나의 추상메서드만 선언된 인터페이스

 

 

 

- 함수형 인터페이스 타입의 참조변수로 람다식을 참조할 수 있음

(단 함수형 인터페이스의 메서드와 람다식의 매개변수 개수와 반환타입이 일치해야 함)

 

 

 

 

 함수형 인터페이스 타입의 매개변수 

 

 

 

 함수형 인터페이스 타입의 반환타입