728x90
반응형
SMALL

람다식이란?

- 함수형 프로그래밍. 함수 역할을 하는 매개변수를 가진 중괄호 블럭.

//람다식
(매개변수, ...) -> {처리 내용}

* 사용 예시

public interface Calculable{
	//추상메소드
    void calculate(int x, int y);
}
//익명 구현 객체
new Calculable(){
	@Override
    public void calculate(int x, int y){처리 내용}
}
//람다식 표현 방법
(x,y) -> {처리 내용}
public static void main(String[] args){
	action((x,y)->{
		int result = x+y;
        System.out.println(result);
	}
}

public static void action(Calculable calculable){
	int x=10;
    int y=4;
    calculable.calculate(x,y);
}

* 함수형 인터페이스 : 인터페이스가 단 하나의 추상 메소드를 가질 때. => 이를 보장하기 위해 @FunctionalInterface 어노테이션을 추가한다.

 

 

매개변수가 없는 람다식

()->{
	실행문;
        실행문;
}
() -> 실행문

 

매개변수가 있는 람다식

(타입 매개변수, ...)->{
	실행문;
    	실행문;
}
(타입 매개변수, ...)-> 실행문
(var 매개변수, ...) ->{
	실행문;
    	실행문;
}
(var 매개변수,...)->실행문
(매개변수, ...)->{
	실행문;
    	실행문;
}
(매개변수,...)->실행문

 

리턴값이 있는 람다식

(매개변수, ...)->{
	실행문;
    	return 값;
}
(매개변수, ...) -> return 값
(매개변수, ...)->값

 

메소드 참조

*(::)

1. interface method의 매개변수가 같은 메서드가 실행

2. 람다식 실행구문이 1개인 경우만!

3. 반드시 리턴값 가져야함.

(left,right)->Math.max(left,right);

Math :: max;

 

생성자 참조

(a,b) ->{return new Class(a,b);}

Class::new //생성자 참조
728x90
반응형
LIST

'IT > JAVA' 카테고리의 다른 글

[JAVA] #18 입출력 스트림  (0) 2023.05.01
[JAVA] #17 스트림 요소 처리  (0) 2023.05.01
[JAVA] #15 컬렉션 자료구조  (0) 2023.04.27
[JAVA] #14 멀티 스레드  (0) 2023.04.26
[JAVA] #13 제네릭  (0) 2023.04.24

+ Recent posts