람다식이란 "식별자없이 실행가능한 함수"
함수인데 함수를 따로 만들지 않고 코드한줄에 함수를 써서 그것을 호출하는 방식이라고 생각하시면 되겠습니다.
-> 기호는 매개 변수를 이용해서 중괄호 { } 바디를 실행한다는 뜻으로 해석하면 됩니다.
interface Compare{
public int compareTo(int a, int b);
}
public class Ramda2 {
//람다식 문법 (매개변수 목록)->{실행문}
public static void exec(Compare com) {
int k = 10;
int m = 20;
int value = com.compareTo(k, m);
System.out.println(value);
}
public static void main(String[] args) {
exec((i,j)->{
return i+j;
});
}
}
import extendsss.main;
public class Ramda3 {
@FunctionalInterface//함수형 인터페이스 체크 어노테이션
public interface MyNumber{
int getMax(int num1, int num2);
}
public static void main(String[] args) {
MyNumber max = (x,y)->(x>=y)? x:y;
System.out.println(max.getMax(10, 30));
}
}