[C#] 6.2 다형성

OOP 언어는 캡슐화, 상속과 더불어 중요한 특징으로 다형성이 있습니다. C#에서의 다형성은 크게 두 가지로 얘기합니다. 첫째로 변수는 여러 형식의 개체를 참조할 수 있다는 것입니다. C#에서는 기반 형식의 변수로 파생된 개체를 참조할 수 있습니다. 두 번째로 변수를 통해 메서드를 호출했을 때 구체적인 동작이 다를 수 있다는 것입니다.

 

C#에서는 기반 형식의 멤버 메서드를 추상 메서드와 가상 메서드로 지정할 수 있는데 파생된 형식에서 재정의하면 기반 형식의 변수로 파생 개체를 참조했을 때 변수의 형식에 정의한 멤버가 아닌 참조한 실제 개체의 멤버를 수행합니다.


6.2.1 기반 형식의 변수로 파생 개체를 참조

6.2.2 is 연산자와 as 연산자를 이용한 하향 캐스팅

6.2.3 new 키워드로 무효화, base 키워드로 사용

6.2.4 virtual 가상화, override 재정의

6.2.5 abstract 키워드를 이용한 추상화

6.2.5 sealed 키워드를 이용한 봉인