<aside> 💡 자식 클래스에서 메소드를 덮어씌워서 사용하는 것

</aside>

메소드 오버라이딩시 virtual, override 예약어를 사용한다.

virtual

부모 클래스에서 메소드 정의 시

class Mammal
{
	virtual public void Mode()
	{
		Console.WriteLine("움직인다.");
	}
}

override

자식 클래스에서 메소드 오버라이딩시

class Lion : Mammal
{
	override public void Mode()
	{
		Console.WriteLine("네 발로 움직인다.");
	}
}

new

만약 부모클래스에 있는 메소드와 단순히 이름이 똑같은 (여기서는 Move) 메소드를 자식 클래스에서도 정의하고 싶다면 자식클래스에서 new 예약어로 만든다.

그렇지않으면 경고가 난다.

class Lion : Mammal
{
	new public void Mode()
	{
		Console.WriteLine("네 발로 움직인다.");
	}
}