728x90
반응형
package chap8;
/*
* JDK8버전 이후부터 인터페이스의 멤버 메서드도 구현부를 가질수 있음.
* default 메서드 : 인스턴스메서드
* static 메서드 : 클래스 메서드
*/
interface Myinterface1 {
void method();
default void method1() {
System.out.println("Myinterface1의 default 메서드:method1");
}
static void staticMethod() {
System.out.println("Myinterface1의 static 메서드:staticMethod");
}
}
interface Myinterface2 {
void method();
default void method1() {
System.out.println("Myinterface2의 default 메서드:method2");
}
static void staticMethod() {
System.out.println("Myinterface2의 static 메서드:staticMethod");
}
}
class Parent {
public void method() {
System.out.println("Parent 클래스의 멤버 메서드:method2");
}
}
class Child extends Parent implements Myinterface1, Myinterface2{
//default 메서드가 2개 존재. 구현클레스에서 오버라이딩해야함.
@Override
public void method1() {
// Myinterface2.super.method1();
System.out.println("Child클래스에서 default 메서드의 method1 오버라이딩함");
}
}
public class InterfaceEx5 {
public static void main(String[] args) {
Child c = new Child();
c.method();
c.method1();
Myinterface1.staticMethod();
Myinterface2.staticMethod();
}
}728x90
반응형
'study > Java' 카테고리의 다른 글
| [Java] 24. Test2 (구동클래스를 실행했을때 다음의 결과가 나오도록 프로그램 구현하기) (0) | 2022.03.22 |
|---|---|
| [Java] 24. Test1 (각 클래스를 생성하고 출력하기) (0) | 2022.03.22 |
| [Java] 24. Interface4 (인터페이스는 객체화가 안됨) (0) | 2022.03.22 |
| [Java] 24. Interface3 (매개변수로 사용되는 인터페이스) (0) | 2022.03.22 |
| [Java] 24. Interface2 (리턴타입이 인터페이스인 경우) (0) | 2022.03.22 |