매니저/JAVA1

JAVA1 Override 예제1 (임시저장)

cdprkr2077 2011. 12. 23. 20:43


// 오버라이드 ( 재정의 )     / - 오버로드 ( 다중정의 )

class OvSuper
{
 String name = "부모 클래스";
 public String getName()
 {
  return name;
 }
}

class OverrideEx extends OvSuper       // OvSuper에 OvSuperEx가 상속
{
 String name = "자식클래스";
 public String getName()
 {
  return name;
 }
 
 public static void main(String[] args)
 {
 
 // 부모클래스 참조변수 = 부모클래스 인스턴스
 OvSuper os = new OvSuper();
 System.out.println( "os name : " + os.name );
 System.out.println( "os name : " + os.getName() );

 // 자식클래스 참조변수 = 자식클래스 인스턴스
 OverrideEx oe = new OverrideEx();
 System.out.println( "oe name : " + oe.name );
 System.out.println( "oe name : " + oe.getName() );

 // 부모클래스 참조변수 = 자식클래스 인스턴스
 os = new OverrideEx();
 System.out.println( "os name : " + os.name );
 System.out.println( "os name : " + os.getName() );

 // 자식클래스 참조변수 = 부모클래스 인스턴스
 oe = ( OverrideEx ) new OvSuper();       // ( OverrideEx )로 강제형 변환 / 충돌이 일어날수도 있다.
 System.out.println( "oe name : " + oe.name );
 System.out.println( "oe name : " + oe.getName() );

 }
}