업캐스팅을 할경우 서브클래스와 동일한 멤버필드는 슈퍼클래스를 사용하며,
오버라이드된 메소드의 경우 오버라이드된 메소드를 사용한다.

그렇다면 오버라이드된 메소드에서 슈퍼클래스와 동일한 멤버필드 변수를 사용한다면??

답: 서브 클래스의 멤버필드 변수가 사용된다.. ㄷㄷ

뭐이리 복잡하노...


---------------

public class Test {

 public static void main(String[] argumenst){
  P1 p1 = new P2();
  p1.print();
  System.out.println(p1.a);
 }
}

class P1{
 int a = 10;
 public void print(){
  System.out.println(a);
 }
}

class P2 extends P1{
 int a = 20;
 public void print(){
  System.out.println(a);
 }
}

'넋두리' 카테고리의 다른 글

뷰어란 무엇일까...  (0) 2011.05.27
Posted by sangmooni
,