


인터페이스를 편하게 사용하기 위해서 추가된 기능.
- 클래스를 만드는 경우
- 인터페이스를 구현하는 클래스를 하나 만들어서
- Abstract method를 override하여 사용.
functional interface만 적용가능.
Abstract method를 하나만 가지고 있는 interface
interface위에 @functionalInterface를 선언할 수 있다.
(매개변수) -> {구현 코드};
예)
@functionalInterface
public interface Test{
public void temp( int i );
}
사용)
인터페이스명 객체명 = ( 매개 변수 ) -> {구현 코드,,,};
Test t = (int i) -> {코드};//method접근지정자, 반환형 method명을 생략하여 사용.
호출)
t.추상method명();
t.temp(10);
반환형 없는 method
public void test();
구현)
인터페이스명 객체명 = () -> {코드};
호출)
객체명.method명();
반환형 있는 method
public int test();
구현)
인터페이스명 객체명 = () -> {코드 return 값};
호출)
데이터형 변수명 = 객체명.method명();
반환형 없고 매개변수 있는 method
public void test(String s, int i);
구현)
인터페이스명 객체명 = (String s, int i) -> {코드};
호출)
객체명.method명();