다형성 시작

다형성(Polymorphism)은 이름 그대로, “다양한 형태”, “여러 형태”를 뜻한다.

프로그래밍에서 다형성은 한 객체가 여러 타입의 객체로 취급될 수 있는 능력을 뜻한다. 보통 하나의 객체는 하나의 타입으로 고정되어있다. 그런데 다형성을 사용하면 하나의 객체가 다른 타입으로 사용될 수 있다는 뜻이다.

다형성을 이해하기 위한 2가지 핵심 이론

다형적 참조

IMG_6EE74D8E099D-1.jpeg

Parent 타입의 변수는 자신인 Parent는 물론이고, 자식 타입까지 참조할 수 있다. 만약 손자가 있다면 손자도 그 하위 타입도 참조할 수 있다. → 부모는 자식을 품을 수 있다.

⇒ 하위 인스턴스를 생성하면 그 안에 상위 인스턴스도 같이 생성되기 때문이다. 호출한 변수의 타입과 같은 타입의 인스턴스를 찾는다.

PolyMain