posted by 셀로브 2013. 10. 20. 03:26

부모클래스 Animal에 자식클래스 Dog, Cat, Duck이 있다.



자식클래스들은 각각 부모클래스의 Speek()함수를 재정의 하고고 있다.

재정의 한 내용은 다음과 같다고 가정하자.


Dog

public void Speek(){

    System.out.println("멍멍 ");

}


Cat

public void Speek(){

    System.out.println("야옹 ");

}


Duck

public void Speek(){

    System.out.println("꽥꽥 ");

}


Dog, Cat, Duck은 Animal의 자식클래스 이므로 다음과 같은 객체생성이 가능하다.


Animal dog = new Dog();

Animal cat = new Cat();

Animal duck = new Duck();


그리고 다음과 같이 함수를 호출해보자.
dog.speek();
cat.speek();
duck.speek();


각각의 자식클래스는 재정의한 speek함수의 동작을 수행하게 된다.


실행결과

 멍멍 야옹 꽥꽥


이처럼 다형성을 활용하면 서로 다른 서브클래스의 객체가 동일한 함수호출로 다른 응답을 하도록 구성할 수 있다.


'언어(Language) > JAVA' 카테고리의 다른 글

Java 한글 <-> 유니코드 변환  (0) 2013.12.19
Text File Read Write  (0) 2013.12.18
IS-A 관계와 HAS-A 관계  (0) 2013.10.20
캡슐화  (0) 2013.10.20
상속  (0) 2013.10.20