[c#] 메서드 오버라이딩

C#에서는 상속받은 클래스에서 부모 클래스의 메서드를 재정의할 수 있습니다. 이를 메서드 오버라이딩이라고 합니다. 부모 클래스의 메서드 시그니처와 일치하는 메서드를 자식 클래스에서 구현하여 사용합니다.

기본 문법

부모 클래스에서 가상 메서드인 경우 virtual 키워드를 사용하고, 이를 오버라이드하기 위해 자식 클래스에서 override 키워드를 붙입니다.

public class Parent
{
    public virtual void Print()
    {
        Console.WriteLine("Parent's Print method");
    }
}

public class Child : Parent
{
    public override void Print()
    {
        Console.WriteLine("Child's Print method");
    }
}

사용 예시

static void Main(string[] args)
{
    Parent obj = new Child();
    obj.Print(); // 출력: Child's Print method
}

부모 클래스의 메서드를 자식 클래스에서 오버라이드하여 호출하였을 때, 자식 클래스에서 구현한 메서드가 실행되는 것을 확인할 수 있습니다.

이를 통해 C#에서 메서드 오버라이딩이 어떻게 작동하는지 알아보았습니다.

더 자세한 내용은 Microsoft 공식 문서를 참고하세요.