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 인터페이스이다.

 

interface 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

 

반응형