오버라이딩이란? (Override)
A클래스
의 메서드를 파생 클래스 B클래스
에서 메서드를 가져와 내용을 변경 하려면 오버라이딩
을 해야한다.
A클래스
의 메서드의 한정자는 virtual이고, B클래스
의 메서드 한정자는 override 이어야 한다.
B클래스
의 메서드에서 base.{메서드}를 기본으로 호출해야한다.
A클래스
의 메서드가 private이면 오버라이딩 불가하다.
class ArmorSuite
{
public virtual void Initialize()
{
Console.WriteLine("Armored");
}
}
class IronMan : ArmorSuite
{
public override void Initialize()
{
base.Initialize();
Console.WriteLine($"Ironman Armored");
}
}
class MainApp
{
static void Main(string[] args)
{
ArmorSuite armor = new ArmorSuite();
armor.Initialize();
ArmorSuite ironman = new IronMan();
ironman.Initialize();
Console.Read();
}
}