[C#] 상속 키워드
C#
2024. 8. 13.

Virtual 키워드

virtual 키워드는 부모 클래스에서 메서드, 프로퍼티, 이벤트를 정의할 때 사용됩니다. 이 키워드를 사용하면

해당 멤버가 자식 클래스에서 재정의(override)될 수 있음을 명시합니다.

 

public class Parent
{
    public virtual void Display()
    {
        Console.WriteLine("Display method in Parent class");
    }
}

 

 

Override 키워드

override 키워드는 자식 클래스에서 부모 클래스의 virtual로 선언된 메서드, 프로퍼티, 이벤트를 재정의할 때

사용됩니다. 재정의된 멤버는 부모 클래스의 원래 구현을 대체합니다.

public class Child : Parent
{
    public override void Display()
    {
        Console.WriteLine("Display method in Child class");
    }
}

 

 

base 키워드

base 키워드는 자식 클래스에서 부모 클래스의 멤버(필드, 메서드, 생성자 등)에 접근할 때 사용됩니다.

특히, 자식 클래스에서 부모 클래스의 메서드를 호출하고자 할 때 유용합니다.

public class Child : Parent
{
    public override void Display()
    {
        base.Display(); // 부모 클래스의 Display 메서드 호출
        Console.WriteLine("Additional behavior in Child class");
    }
}

 

요약

  • virtual: 부모 클래스 메서드를 나중에 자식 클래스에서 바꿔 쓸 수 있게 하고 싶을 때 사용
  • override: 자식 클래스에서 부모 클래스의 메서드를 새롭게 바꿔 쓰고 싶을 때 사용
  • base: 자식 클래스에서 부모 클래스의 원래 메서드를 그대로 쓰고 싶을 때 사용