Super1
package com.step6;
public class Super1 {
int a=1;
void methodA() {
System.out.println("methodA 호출");
}
}
Super2
package com.step6;
public class Super2 extends Super1 {
int b = 2;
void methodB() {
System.out.println(a);
System.out.println("methodB() 호출");
}
public void methodC() {
System.out.println("Super2 : methodC() 호출");
}
}
Me2
package com.step6;
public class Me2 extends Super2 {
@Override
public void methodC() {
System.out.println("Me2 : methodC() 호출");
}
public static void main(String[] args) {
Me2 me = new Me2();
Super2 sup1 = new Me2();
Super2 sup11 = new Super2();
System.out.println(me.a);
me.methodA();
sup1.methodA();
sup1.methodC();
sup11.methodC();
me.methodC();
}
}
--------------------------------
1
methodA 호출
methodA 호출
Me2 : methodC() 호출
Super2 : methodC() 호출
Me2 : methodC() 호출
- Me2 타입은 Super2만 상속받았지만, 그 전에 Super1을 상속받고 있으므로 Super1에서 정의된 메소드 호출이 가능하다. --> 이 부분을 복습하자.