static void Main() { Espresso espresso = new Espresso(); Americano americano = new Americano(); Cafelatte cafelatte = new Cafelatte(); //A클래스가 B클래스의 자식인지 비교 후 1 값 리턴 //A가 B와 같은 타입인지 비교 if (americano is Espresso) { Console.WriteLine("1"); } if (americano is Cafelatte) { Console.WriteLine("2"); } if (cafelatte is Espresso) { Console.WriteLine("3"); } //부모객체 생성 = 자식객체를 부모객체로 만듬 Espresso a = americano as Espresso; if (a != null) { Console.WriteLine("4"); } Americano b = espresso as Americano; if (b != null) { Console.WriteLine("5"); } }
static void Main(string[] args) { Bevarage bevarage = new Espresso(); Console.WriteLine($"{bevarage.getDescription()} {bevarage.cost()}"); Console.WriteLine("=============="); Bevarage bevarage2 = new Espresso(); bevarage2 = new Whip(bevarage2); bevarage2 = new Mocha(bevarage2); Console.WriteLine($"{bevarage2.getDescription()} {bevarage2.cost()}"); Console.WriteLine("=============="); Bevarage bevarage3 = new Whip(new Mocha(new Mocha(new Espresso()))); Console.WriteLine($"{bevarage3.getDescription()} {bevarage3.cost()}"); Console.WriteLine("=============="); Console.ReadKey(); }