Lambda Expression (람다 표현식)
- 자바 1.8 부터 도입된 함수 지향적 표현 방식이다.
- 간단하게 식별자없이 실행 가능한 함수표현이다.
- 병렬처리, 이벤트 지향적 프로그래밍에 적합하다.
사용방법
(매개변수, ...) -> { 실행문 ... }
//람다식 x
interface Phone{
String getName(String series, String version);
}
class Main {
public void mainExample() {
Person person = new Person();
person.buyPhone(new Phone() {
public String getName(String series, String version) {
return series + version;
}
});
}
class Person {
public void buyPhone(Phone phone) {
System.out.println("New Phone! : " + phone.getName("Galaxy", "S20"));
}
}
}
//람다식 o
interface Phone{
String getName(String series, String version);
}
class Main {
public void mainExample() {
Person person = new Person();
person.buyPhone((series, version) -> series + version); //람다식 사용
}
class Person {
public void buyPhone(Phone phone) {
System.out.println("New Phone! : " + phone.getName("Galaxy", "S20"));
}
}
}
장점
- 코드를 간결하게 만들 수 있다
- 병렬프로그래밍에 용이하다.
단점
- 재사용을 많이 하는 함수를 람다로 만들면 코드가 더 지저분 해질 수 있다.
- 재귀에 사용하기 부적합하다.
- 디버깅이 어렵다.
반응형
'기초 지식 > Java' 카테고리의 다른 글
Java 1.8 Optional (0) | 2021.03.28 |
---|---|
Java 1.8 Default Method (0) | 2021.03.02 |
Java 1.8 Stream 정리 (0) | 2020.10.27 |
Java 1.8 method reference (메소드 레퍼런스) (0) | 2020.10.21 |
Java 각 버전의 특징들 (~JAVA21) (0) | 2020.10.15 |