virtual

가상 메서드를 정의할 때 사용되는데 이 키워드를 통해서 메서드를 재정의할 수 있도록 허용한다.

class Base
{
	public virtual void Print()
    {
    	Console.WriteLine("Base class");
    }
}

 

override

상속 관계에서 부모 클래스에 정의된 메서드를 자식 클래스에서 다시 정의할 때 사용된다.

class Derived
{
	public override void Print()
    {
    	Console.WriteLine("Derived class");
    }
}

 

override 키워드를 사용하여 부모 클래스에서 정의한 메서드를 자식 클래스에서 재정의하면 자식 클래스의 인스턴스에서 호출할 때 부모 클래스와 자식 클래스의 구현 차이를 쉽게 반영할 수 있다.

 

Base base = new Base();
base.Print();
// "Base class"

Derived derived = new Derived();
derived.Print();
// "Derived class"

Base base2 = new Derived();
base2.Print();
// "Derived class"
728x90
반응형

'Program Language > C#' 카테고리의 다른 글

C# 읽기 전용 키워드 : readonly  (0) 2023.03.30
C# 코드 분할 키워드 : partial  (0) 2023.03.30
C# 인스턴스 생성 키워드 : new  (0) 2023.03.30
Interoperability  (0) 2023.02.02
Managed, Unmanaged, Native Code  (0) 2023.02.02

+ Recent posts