Java100 Part.4 - 다형성(polymorphism)

Jeong Woosi·2022년 2월 15일
0

Java100 Part.4

목록 보기
4/14

1. 다형성이란?

  • 다형성이란 다양한 형태 또는 특성을 가진다는 의미.
  • 자바와 같은 객체 지향 언어에서의 의미는 부모 클래스를 상속받은 자식 클래스의 인스턴스가 부모의 객체로도 사용되고, 뿐만 아니라 자식 클래스의 객체로도 사용될 수 있는 다양한 상황을 의미한다.

2. 예시

  • 부모 클래스 Bird가 있고, 이를 상속받은 자식 클래스 Parrot이 있다고 가정하자.
  • 이때, "앵무새가 말을 하네...허허~"사람들이 이렇게 말할 수 있다.
  • 그런데, 앵무새는 새이기 때문에 "새가 말을 하네...허허~" ⬅️ 이렇게 말할 수 있다.

3. 결론

  • 정리하면, 하위 클래스의 인스턴스(객체)는 보다 위인 상위 클래스의 인스턴스(객체)로도 사용될 수 있다.
  • 그런데 그 반대는 안된다.
  • 왜냐하면, "앵무새"는 분명 그 상위인 "새"라고 말할 수 있지만, 새는 종류가 많기 때문에 모든 새가 앵무새는 아니기 때문이다.
  • 따라서, 상위(부모)클래스의 인스턴스(객체)는 하위(자식)클래스의 인스턴스(객체)로 사용될 수 없다.
profile
Let's start to Coding

0개의 댓글