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 |