기초 지식/Java
Java 1.8 Lambda Expression (람다 표현식)
MarrRang
2020. 10. 15. 17:44
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"));
}
}
}
장점
- 코드를 간결하게 만들 수 있다
- 병렬프로그래밍에 용이하다.
단점
- 재사용을 많이 하는 함수를 람다로 만들면 코드가 더 지저분 해질 수 있다.
- 재귀에 사용하기 부적합하다.
- 디버깅이 어렵다.
반응형