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 |