반응형
override
override 키워드로 구현하게 되면 자식 클래스의 객체를 부모 클래스의 객체 처럼 사용하더라도 자식 클래스의 함수가 호출된다.
class Pig
{
public virtual void Eat()
{
Console.WriteLine("먹는다");
}
}
class PinkPig : Pig
{
public override void Eat()
{
Console.WriteLine("분홍돼지가 먹는다");
}
}
static void Main(string[] args)
{
Pig pinkPig = new PinkPig();
pinkPig.Eat();
}
new
new 키워드로 구현하게 되면 기존의 부모와 별개의 함수가 되므로 부모 클래스의 함수가 호출되고 자식 클래스에서는 자식 클래스의 함수를 호출한다.
class Pig
{
public virtual void Eat()
{
Console.WriteLine("먹는다");
}
}
class BluePig : Pig
{
public new void Eat()
{
Console.WriteLine("파란돼지가 먹는다");
}
}
static void Main(string[] args)
{
Pig bluePig = new BluePig();
bluePig.Eat();
}
반응형
'유니티 공부 > C# 문법' 카테고리의 다른 글
C# 문법 - Tuple<T1,T2> (0) | 2023.06.14 |
---|---|
C# 문법 - is, as, typeof 연산자 (0) | 2023.05.17 |
C# 문법 - enum(열거형) (0) | 2023.05.09 |
C# 문법 - Nullable type (0) | 2023.04.20 |
C# 문법 - Reflection, Attribute (0) | 2023.04.20 |
댓글