IT/Java
[람다식] JAVA에서의 람다식/기본편
상짱
2022. 7. 8. 15:15
반응형
람다식(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
반응형