가장 기본적인 예제를 실행해보면서 람다식에 접근한다.
백문이 불여 일타...
■ 실행예제
package self._lamda;
public class LamdaSample1 {
public static void main(String[] args) {
/* void 형태 */
// 1. 익명클래스
InfSample1 a1 = new InfSample1() {
@Override
public void doPrint() {
System.out.println("나는 익명 1 함수");
}
};
a1.doPrint();
// 1. 람다식
InfSample1 b1 = () -> System.out.println("나는 람다 1 함수");
b1.doPrint();
/*----------------------------------------------*/
/* 리턴형 , 인자값 포함 */
// 1. 익명클래스 \
InfSample2 a2 = new InfSample2() {
@Override
public String doPrint(String name, int age) {
return "이름 :"+name+" , 나이 :"+Integer.toString(age);
}
};
System.out.println(a2.doPrint("홍길동",30));
// 1. 람다식
InfSample2 b2 = (name, age) ->{
return "이름 :"+name+" , 나이 :"+Integer.toString(age);
};
System.out.println(b2.doPrint("김람다",20));
}
}
/* void 인터페이스 형식
* @FunctionalInterface 를 표기하는 이유 ?
* -> 람다식을 사용할거니까, 메서드를 하나만 사용해야 한다는 약속의 표기
* */
@FunctionalInterface
interface InfSample1{
public void doPrint();
}
/* 리턴형 , 인자값 포함
* @FunctionalInterface 를 표기하는 이유 ?
* -> 람다식을 사용할거니까, 메서드를 하나만 사용해야 한다는 약속의 표기
* */
@FunctionalInterface
interface InfSample2{
public String doPrint(String name, int age);
}
'Java > Lambda Expressions' 카테고리의 다른 글
예제로 배워보기 - 람다 & MethodReference(더블콜론) (2) (0) | 2021.07.18 |
---|---|
예제로 배워보기 - 람다 & MethodReference(더블콜론) (1) (0) | 2021.07.18 |
[표준 API] 함수적 인터페이스 : @FunctionalInterface (0) | 2021.05.23 |
[Lamda Expression] Anonymous Classes -> Lamda Expression (0) | 2021.05.23 |
[Anonymous Classes] 람다가 있기전 익명클래스가 있었다. (0) | 2021.05.23 |