Interface도 method body를 가질수 있게 되었다.
default 메소드와 static 메소드.
interface 에서 default 메소드 구현가능.(N개)
- implements 하여 상속받은 하위 클래스에서 호출가능.
- implements 하여 상속받은 하위 클래스에서 메소드 재정의 가능.
- 참조하는 변수로 함수를 호출가능.
interface 에서 static 메소드 구현가능.(N개)
- 인터페이스명으로 호출가능.
- 메소드 재정의 불가능.
@FunctionalInterface
public interface Java8Interface {
public int add(int a, int b);
default void defaultMethodA() {
System.out.println("body가 있는 default 메소드 구현");
}
public static void staticMethodA() {
System.out.println("body가 있는 static 메소드 구현");
}
}
class DefaultClz {
public static void main(String[] args) {
Java8Interface.staticMethodA(); // 인터페이스명으로 호출
/* 추상메소드를 구현하며 인터페이스 객체생성 */
Java8Interface interObj = (a, b) -> a + b;
interObj.defaultMethodA(); // 참조하는 변수로 함수를 호출
}
}
|
'Java' 카테고리의 다른 글
Java Functional Interface BiPredicate 활용. (0) | 2020.06.11 |
---|---|
FlatMap 사용 (0) | 2020.04.20 |
Map에서 값을 가져올때 Optional을 이용한 Null처리 (0) | 2020.04.02 |
이클립스 문자열 검색시 검색 문자열에 줄내림 또는 공백문자열이 포함된 경우 검색방법 (0) | 2020.03.24 |
이클립스 Git Branch 생성, 삭제 및 Stash 사용법 (0) | 2020.03.23 |