티스토리 뷰

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가 들어가도 되는지 다른 문자를 넣어도 되는지 실행해봤는데 들어가졌다 다만 숫자는 안되길래 무엇이지 고민했는데

 

정말 쓸데없는 고민

 

그냥 데이터타입을 메소드에 지정했기 때문에 생략이 가능한것이었다. ㄷㄷ. 

반응형

'JAVA' 카테고리의 다른 글

190717 Comparator, Comparing, Ramda  (0) 2019.07.17
190716 Comparable 과 compareTo  (0) 2019.07.16
190716 람다식, arraylist 테스트  (0) 2019.07.16
190716 Enhancedfor 3중 배열  (0) 2019.07.16
190715 LinkedList예제  (0) 2019.07.15