Error:(3, 1) java: Unexpected @FunctionalInterface annotation com.github.sejoung.codetest.lamdas.SimpleFuncInterface is not a functional interface multiple non-overriding abstract methods found in interface com.github.sejoung.codetest.lamdas.SimpleFuncInterface
위와 같은 에러가 나온다 하지만 더 추가 할수 있는 방법이 있는데 그것은 default 메소드를 통해서이다.
1 2 3 4 5 6 7 8 9 10 11 12 13
package com.github.sejoung.codetest.lamdas;
@FunctionalInterface publicinterfaceComplexFunctionalInterfaceextendsSimpleFuncInterface { defaultpublicvoiddoSomeWork(){ System.out.println("Doing some work in interface impl..."); } defaultpublicvoiddoSomeOtherWork(){ System.out.println("Doing some other work in interface impl..."); } }
위에 코드는 여전히 유효한 코드이다. 위에 사용법에는 default메소드는 기존에 있는 인터페이스를 해치지 않고 구현할수있는 좋은 방법이다.