언어 자료구조 알고리즘/Escort C#

[C#] 6.2 다형성 - 기반 형식의 변수로 파생한 개체를 참조

언제나휴일 2016. 5. 2. 14:27
반응형


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


6.2 다형성

 

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

 

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

 

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

 

 C#에서는 다형성을 제공하여 기반 형식의 변수로 파생된 개체를 참조할 수 있습니다. 이러한 특징은 하나의 기반 형식에서 파생된 다양한 형식 개체를 사용할 때 같은 방식으로 사용할 수 있는 편의성을 제공합니다. 특히, C#에서는 모든 형식이 묵시적으로 object에서 파생되므로 편의성은 극대화됩니다.

 

▶ 기반 형식 변수로 파생 개체 참조

class Man

{

}

class Stu : Man //기반 형식 Man에서 파생

{

}

class Program

{

    static void Main()

    {

        Man man = null;

        man = new Stu(); //기반 형식 변수 Man으로 파생 형식 Stu 개체 참조

    }

}

 

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

[C#] 6.2 다형성 - 기반 형식의 변수로 파생한 개체를 참조

[C#] 6.2.2 is 연산자와 as 연산자

[C#] 무효화 - new 키워드, base 키워드

[C#] 6.2.4 가상화 virtual, 재정의 override

[C#] 6.2.5 abstract 키워드를 이용한 추상화

[C#] 6.2.5 sealed 키워드를 이용한 봉인

반응형