동영상 강의/C# 언어 동영상 강의

[C# 동영상 강의] 14. 상속과 다형성

언제나휴일 2016. 4. 9. 16:21
반응형

[C# 동영상 강의] 14. 상속과 다형성




다루는 내용

상속

virtual 메서드

override로 재정의

sealed로 봉인

다형성


대본


슬라이드 1

이번 강의에서는 상속 및 다형성에 대해서 살펴보기로 하겠습니다.


슬라이드 2

상속은 기본 클래스를 구체화하는 것을 얘기합니다.

파생 클래스는 기본 클래스의 생성자와 소멸자를 제외한 모든 멤버를 암시적으로 상속받게 됩니다필요에 따라 기본 클래스에 특정 메서드를 virtual로 선언을 하면 파생 클래스에서 재정의 가능한 메서드가 됩니다파생 클래스에서는 override를 통해 재정의를 하게 됩니다또한, 기본 클래스에 abstract로 선언된 멤버가 있으면 기본 클래스는 추상 클래스가 되며 파생 클래스에서 해당 멤버를 재정의를 하여야 구체화 클래그가 됩니다추상 클래스는 인스턴스를 직접 생성할 수 없는 클래스를 말하며 구체화 된 클래스는 인스턴스를 직접 생성할 수 있는 클래스를 말합니다이전 클래스 강의에서  클래스를 정의할 때 abstract로 명시하면 abstract멤버가 없어도 추상 클래스가 된다고 얘기한 것을 기억하시기 바랍니다.

또한, 클래스를 정의할 때 sealed를 통해 상속을 막아 봉인 클래스를 만들 수도 있습니다.


슬라이드 3

캡슐화, 상속과 더불어 OOP의 특징으로 다형성이 있습니다

다형성은 특정 형식의 변수가 관리할 수 있는 개체 인스턴스의 형식이 다양할 수 있다는 것과

변수를 통한 메서드의 접근이 관리되는 개체 인스턴스에 정의된 메서드로 호출될 수 있다는 특징을 말합니다.

기본 클래스 변수로는 파생 클래스의 개체를 관리를 할 수가 있지요.

또한, 개체의 가상 메서드를 호출하면 CLR은 개체의 런타임 형식에 정의된 가상 메서드의 재정의를 호출 합니다.

이러한 특징은 일관된 방식으로 개체들을 관리할 수 있게 해 줍니다.

가상 멤버에 대해 살펴보면 기본 클래스의 가상 메서드를 재정의 하거나 혹은 그대로 상속받을 수도 있고 또한, new 키워드를 사용하여 기본 클래스의 멤버를 숨길 수 있습니다그리고, 파생 클래스에서 더 이상 재정의를 못하게 sealed로 가상 상속을 중지할 수도 있습니다.

마지막으로 파생 클래스에서 기본 클래스의 메서드를 호출을 할 때에는 base를 이용하면 됩니다.

 

개발도구를 통해 상속과 다형성에 대해 살펴보기로 합시다.


실습




  앞으로 프로그래밍 관련 글은 새롭게 개설한 언제나 휴일 전용 사이트에서 만나보세요. 

2017년 1월 1일까지 이 곳의 프로그래밍 자료는 http://ehpub.co.kr 로 옮길 예정입니다.
 

반응형