자바

interface가 interface를 implement

devjones 2020. 10. 12. 20:30
package main;

public interface Ainterface {
	public void alpha();
}

A 인터페이스

package main;

public interface Binterface extends Ainterface {
	public void beta();
}

 

A 인터페이스를 구현하는 B 인터페이스

 

package main;

public class Cclass implements Ainterface {

	@Override
	public void alpha() {
		System.out.println("Cclass에서의 alpha() 호출");

	}

}

A 인터페이스를 구현하는 C클래스

 

package main;

public class Dclass implements Binterface {

	@Override
	public void alpha() {
		System.out.println("Dclass에서의 alpha() 호출");

	}

	@Override
	public void beta() {
		System.out.println("Dclass에서의 beta() 호출");

	}

}

B 인터페이스를 구현하는 D클래스

 

결론 : D클래스는 A인터페이스의 메소드를 강제했다.

 

package main;

public class MainClass {
	public static void main(String[] args) {
		Ainterface a = new Cclass();
		a.alpha();

		Binterface b = new Dclass();
		b.alpha();
		b.beta();
	}
}

결과