Q . 다음 프로그램 코드 중 컴파일 오류가 발생되는 코드를 고르시오.
interface I1 { void m1(); } interface I2 extends I1 { void m2(); } interface I3 { void m3(); } class A implements I3 { public void m3(){} } class B extends A implements I2 { public void m1(){} public void m2(){} } public class Ex4 { public static void main(String[] args) { A a = new A(); B b = new B(); I1 i1 = b; I2 i2 = a; I3 i3 = b; a = b; } }①
I1 i1 = b;
②I2 i2 = a;
③I3 i3 = b;
④a = b;
내가 생각한 정답 ② I2 i2 = a;
class A 는 interface I2 를 구현하고 있지 않기 때문에 컴파일 오류가 발생한다.
a 객체가 가지는 메소드 m3()
b 객체가 가지는 메소드 m1() , m2() , m3()