[xclass 클래스 소스]


public class xclass {
 protected int x = 100;
 protected String str = "X class";
 public void Oitput( )
{
 System.out.println(str);
}
public void Xrun() {
 // TODO Auto-generated method stub
 System.out.println("perform xclass.."); 
}
public void Output() {
 // TODO Auto-generated method stub
 System.out.println("perform xclass.."); 



[yclass 클래스 소스]


public class yclass extends xclass {
 public final String Output = null;
 int x = 200;
 int y = 300;
 String str = "Y class";
 public void Output( )
{
 System.out.println(str);
}
public void test( )
{
 System.out.println("super: x " + super.x);
 System.out.println("this: x "+this.x +", y" + this.y);
 System.out.print("super.Output( ):");
 super.Output( );
 System.out.print(" this.Output( ): ");
 this.Output( );
}
}



[OverShadowtest 클래스 소스]

public class OverShadowtest {
public static void main(String[ ] args)
{
   System.out.println("xc, x1변수의 데이터형:Xclass ");
   xclass xc = new xclass( );
   System.out.println("xc referece Xclass: x " + xc.x);
   xc.Output( );
   yclass xl = new yclass( );
   System.out.println("xlreference Yclass: x " + xl.x);
   xl.Output( );
   System.out.println("\nyc변수의 데이터형: yclass");
   yclass yc = new yclass( );
   System.out.println("yc reference Yclass : x " + yc.x + ", y " + yc.y);
   yc.Output( );
   yc.test( );
   yc.Xrun( );
   System.out.println("((Xclass)yc).x : "+((xclass)yc) .x);
  }
  }


 [실제 정답]




[원서만을 그대로 펌해서 나온 책의 결과값]