728x90
반응형
Study about dynamic
- 컴파일러가 dynamic 키워드를 만나면 형식 검사를 실행때로 미룸
class Duck
{
public void Walk()
{
Console.WriteLine(this.GetType() + "Walk");
}
public void Swim()
{
Console.WriteLine(this.GetType() + "Swim");
}
public void Quack()
{
Console.WriteLine(this.GetType() + "Quack");
}
}
class Mallard : Duck {}
class Robot
{
public void Walk()
{
Console.WriteLine("Robot.Walk");
}
public void Swim()
{
Console.WriteLine("Robot.Swim");
}
public void Quack()
{
Console.WriteLine("Robot.Quack");
}
}
static void Main()
{
dynamic[] arr = new dynamic[] {new Duck(), new Mallard(), new Robot()};
foreach(dynamic duck in arr)
{
Console.WriteLine(duck.GetType());
duck.Walk();
duck.Swim();
duck.Quack();
Console.WriteLine();
}
}
- duck typing 철학 프로그래밍에 적용하는 방법
- duck typing 따로 찾아서 공부하기
728x90
반응형