본문 바로가기

DEV_STUDY/C#

[C# 객체지향] 업캐스팅( 제 1 다형성 ) 가상함수 ( 제 2 다형성 )


업캐스팅이란?!

특정 객체가 하위클래스의 형에서 상위의 클래스형으로 캐스팅 되는 것이다.

말 그대루 하위클래스가 상위클래스로 캐스팅 되는 것.

이 업캐스팅과 가상함수를 한번 생각해보자.

-출저 JABOOK-



업캐스팅 된후에 메소드를 호출했을 때 Virtual 를 이용한 override를 했을 때는 하위클래스를 상위클래스형으로 캐스팅했다면 아들(하위) 클래스의 메소드를 사용 할 수 있다.

그러나 new로 오버라이딩 한다면 하위클래스를 상위클래스로 캐스팅 하더라도 자기 자신의 메소드가 호출 된다.