반응형
람다식(Lambda expression)
람다식은 1930년대 알론조 처치(Alonzo Church)라는 수학자가 처음 제시한 함수의 수학적 표기방식인 '람다 대수(lambda calculus)'에 뿌리를 두고 있다.
- JAVA8, 1.8 버전 이후 제공된다.
- 람다식의 기본 형태
(매개변수, ...) -> { 실행문 }
- 예시
// sum() 메소드
public int sum(int a, int b){
return a + b;
}
// 람다식 표현
(a, b) -> { return a + b; };
JAVA에서의 람다식
- 함수형 인터페이스
- @FunctionalInterface
- 구현해야 할 추상 메서드가 하나만 정의된 인터페이스를 가리킨다.
- 대표적인 예제로 Runnable 인터페이스이다.
- 문법
// 자바 기본문법
new Thread(new Runnable() {
@Override
public void run() {
System.out.println("java run thread");
}
}).start();
// 람다식표현-1
new Thread(() -> {
System.out.println("[lambda]java run thread");
}).start();
// 람다식표현-2
Runnable r = ()->{
System.out.println("[lambda]java run Runnable");
};
new Thread(r).start();
- 예제
@FunctionalInterface
interface ExCalc {
int calc(int a , int b);
}
// main 함수
ExCalc exCalc = (a,b) -> a + b; // +
int c = exCalc.calc(10, 2);
System.out.println(c); // 12
exCalc = (a,b) -> a - b; // -
c = exCalc.calc(10, 2);
System.out.println(c); // 8
exCalc = (a,b) -> a * b; // *
c = exCalc.calc(10, 2);
System.out.println(c); // 20
exCalc = (a,b) -> a / b; // /
c = exCalc.calc(10, 2);
System.out.println(c); // 5
반응형
'IT > Java' 카테고리의 다른 글
Spring Integration (0) | 2023.08.17 |
---|---|
[Java] java.nio.file.Files 클래스 (0) | 2022.10.31 |
[Java] NIO 기본동작방식 및 개념? (1) | 2022.10.11 |
[Java] Socket 통신 샘플 소스 (0) | 2022.10.06 |
enum 열거형 (0) | 2022.07.22 |
디폴트 메서드(default method) (0) | 2022.07.08 |
[개발환경] 이클립스 / JDK (0) | 2022.06.20 |
1. 전자정부프레임워크 기본설정 (0) | 2020.05.19 |
MyBatis 동적쿼리 / #$ / include sql / property (0) | 2020.02.05 |
CORS / httpUrlConnection 예제 (0) | 2020.02.03 |