JAVA
190716 람다식과 FunctionalInterface
猫猫
2019. 7. 16. 14:36
반응형
package prj190716;
//@FunctionalInterface
//interface F { //functional Interface 함수형 인터페이스
// int p(int b, int c);
//}
@FunctionalInterface
interface Myf{
public abstract void myMethod(int a);
}
public class RamdaTest {
public static void aMethod(Myf f) {
f.myMethod(5);
}
public static void main(String[] args) {
//// F a = (int b) -> System.out.println("호출"); //함수형 자료타입 , 함수를 가리키는 주소 저장 (함수의 파라미터 ) ->출력//함수가 a변수에 대입
// F a = (int b, int c) -> {return b+c;};
// int b= 0;
// b = a.p(5, 6);
// System.out.println(b);
Myf f = (a) -> System.out.println("method() 호출" +a); //type형 추론이 가능하면 (int a)가 아닌 (a)로 생략가능<- 인터페이스에 int a라고 선언했음
aMethod(f);
}
}
제일 당황했던건 Myf f= (a) << 이부분.
왜 a가 들어가도 되는지 다른 문자를 넣어도 되는지 실행해봤는데 들어가졌다 다만 숫자는 안되길래 무엇이지 고민했는데
정말 쓸데없는 고민
그냥 데이터타입을 메소드에 지정했기 때문에 생략이 가능한것이었다. ㄷㄷ.
반응형