// 인터페이스 생성
// - > 인터페이스의 매개변수가 1개인 경우
// t1~4들이 내가 생성했어야했던 클래스들의 이름이라고 생각하니까 괜찮네
// 1. 리턴있을때
interface TTT{
public int some(int a);
}
// 2. 리턴없을때
interface CCC{
public void test(int a);
}
// 정석
TTT t1 = (a)->{
return a+3;
};
int result = t1.some(5); // 1회성이니까 이제 t1은 안녕~
System.out.println(result);
TTT t2 = (a)->{
return a-3;
};
int result2 = t2.some(5);
System.out.println(result2);
★★★ 1. 일반적 사용방법 : 매개변수가 1개니까 소괄호를 빼도 된다구~
TTT t3 = a ->{
return a+10;
};
2. 구현코드가 단 한줄인 경우
// 1) 리턴해야되는경우
TTT t4 = a -> a+5;
int result4 = t4.some(8);
System.out.println(result4);
// 2) 리턴 안해도 되는경우
// 한줄인 경우 a에 소괄호 빼버려~
CCC c1 = a->{
System.out.println(a);
};
// 한줄인 경우 중괄호 빼버려~
CCC c2 = a-> System.out.println(a);
++ 메서드참조)
// 매서드 참조(람다식은 아님)
CCC c3 = System.out::println;
// --> System.out 객체의 println 메서드를 가리키고 있음
// --> 각 요소를 System.out.println 메서드로 출력하라는 의미!!!
c3.test(10);
// 출력 : 10 -> a를 프린트하겠다는 코드니까 따로 출력하지 않아도 출력이 잘된당
'JAVA > DAY 20 _ 23.09.13' 카테고리의 다른 글
Lambda5_consumer(interface) (0) | 2023.09.13 |
---|---|
Lambda4_메서드참조 (0) | 2023.09.13 |
Lambda2 (0) | 2023.09.13 |
(람다식하기 전) interface review (0) | 2023.09.13 |
Lambda Basic (0) | 2023.09.13 |