티스토리 뷰

프로그래밍/Java

자바(java) - 다형성

황금비비새 2013. 7. 10. 00:14

 

- 예제

 

// Parent.java
public class Parent {
    String msg = "I'm Parent msg";

    public String getMsg() {
        return msg;
    }
}



// Child.java
public class Child extends Parent{
    // 상속 받고 재정의 하지 않음.
}



// Child2.java
public class Child2 extends Parent{
    String str = "I'm Child2";
    public String getMsg(){ // 상속받고 재정의 함.
        return str;
    }
}



// ChildMain.java
public class ChildMain {
    // main메서드에서 호출이 가능한 메서드 정의
    public static void test(Parent c){  // 부모로 받는다(다형성)
        System.out.println(c.getMsg());
    }
            
    public static void main(String[] args) {
        // Child 와 Child2는 형제지간
        Child c1 = new Child();    
        test(c1);
        
        Child2 c2 = new Child2();
        test(c2);
    }
}

/* 결과 ***************************************************************************** 
 
 I'm Parent msg
 I'm Child2 str
  
*********************************************************************************** */
댓글