[C#] 6. 상속과 다형성

C#에서는 다른 형식을 기반으로 파생된 형식을 정의할 수 있습니다. 이러한 OOP 언어의 특징을 상속이라고 합니다. C#에서 상속은 클래스와 인터페이스가 기반 형식이 될 수 있고 구조체는 기반 형식으로 인터페이스만 가능합니다.

이처럼 상속으로 표현된 기반 클래스와 파생 클래스의 관계를 일반화 관계라고 합니다. C#에서는 기반 형식의 변수로 파생된 형식의 개체를 참조할 수 있어 사용하는 곳에 편의를 제공합니다. 그리고 기반 형식에 정의한 멤버 메서드를 파생 형식에서 재정의할 수 있습니다. 이처럼 기반 형식의 멤버 메서드를 재정의하여 사용하는 변수의 형식의 멤버 메서드가 아닌 실제 참조하고 있는 개체의 멤버 메서드가 수행되게 할 수 있습니다. 이 같은 특징을 다형성이라고 합니다. 이번 장에서는 C#에서 제공하는 상속과 다형성에 대해 살펴봅시다.


6.1 상속

6.1.1 protected

6.1.2 파생 형식 개체 생성

6.1.3 봉인(sealed) 클래스

6.2 다형성

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 키워드를 이용한 봉인