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: 자식 클래스에서 부모 클래스의 원래 메서드를 그대로 쓰고 싶을 때 사용
'C#' 카테고리의 다른 글
[C#] 제네릭(Generic)이란 무엇인가? (0) | 2024.08.16 |
---|---|
[C#] 구조체(Struct) vs 클래스(Class) (0) | 2024.08.15 |
[C#] API를 호출할 때 "Malformed URL" 오류가 발생하는 이슈 (0) | 2024.08.12 |
[C#] 빈 문자열인지 확인하는 방법 (0) | 2024.08.08 |
[C#] API로 여러 이미지를 비동기로 호출할때, 이미지가 null인 이슈 (0) | 2024.08.07 |