본문 바로가기

java

Step10_Interface(@FunctionalInterface, 메소드 표현식)

 

 

@FunctionalInterface

 

함수 모양으로 사용할 인터페이스에 붙이는 어노테이션
- 추상 메소드가 1개인 인터페이스
- 추상 메소드의 갯수가 1개로 강제된다.

 

 

Mainclass05, Calc (FunctionalInterface, 메소드표현식)

 

Calc

@FunctionalInterface

 

함수 모양으로 사용할 인터페이스에 붙이는 어노테이션이다. 굳이 @FunctionalInterface, interface 형식을 사용하지 않고도 추상 메소드를 1개만 사용하는 class 혹은 interface는 람다 함수식을 사용할 수 있다. 그럼에도 @FunctionalInterface 를 사용하는 이유는 신뢰성을 높이기 위해서다. @FunctionalInterface를 사용하고 interface를 만들때 추상메소드를 두개 이상 작성하면 애초에 컴파일이 안된다.

 

 

 

MainClass05

 

람다함수에서 {}와 return을 생략 가능할때

 

@FunctionalInterface를 활용해서 만들어진 Calc interface를 가져와 코드로 작성한 예시이다. 람다 함수 표현식이 잘 작성되는 것을 알 수 있다. 여기서 plus와 minus 변수를 만들며 작성한 코드가 일반적인 형태인데 return만 사용하고 있다. 이렇게 람다 함수식에서 return만 활용할때 multi, divide 변수를 작성한 코드와 같이 {}와 return을 생략하는 것이 가능하다.

 

 

MainClass05 console