파생 클래스가 기본 클래스에 정의된 것과 동일한 메서드를 정의하는 경우 이를 C#에서는 메서드 재정의라고 합니다. 런타임 다형성을 달성하는 데 사용됩니다. 이를 통해 기본 클래스에서 이미 제공되는 메서드의 특정 구현을 제공할 수 있습니다.
C#에서 메서드 재정의를 수행하려면 다음을 사용해야 합니다. 가상 기본 클래스 메서드가 포함된 키워드 및 우세하다 파생 클래스 메서드가 있는 키워드입니다.
C# 메서드 재정의 예
C#에서 메서드 재정의의 간단한 예를 살펴보겠습니다. 이 예에서는 override 키워드를 사용하여 eat() 메서드를 재정의합니다.
using System; public class Animal{ public virtual void eat(){ Console.WriteLine('Eating...'); } } public class Dog: Animal { public override void eat() { Console.WriteLine('Eating bread...'); } } public class TestOverriding { public static void Main() { Dog d = new Dog(); d.eat(); } }
산출:
Eating bread...