예제 #1
0
        static void Main(string[] args)
        {
            Knight knight = new Knight();
            Mage   mage   = new Mage();
            // Mage 타입 -> Player  가능
            // Player 타입 -> Mage  불가능
            // 즉 자식클래스가 부모클래스로 변환하는건 가능
            Player magePlayer = mage;
            Mage   mage2      = (Mage)magePlayer;

            EnterGame(knight);
        }
예제 #2
0
        static void EnterGame(Player player)
        {
            // NULL 이란?
            // "없음"이라는 의미. 정수의 0과도 다름
            //첫번째 방법
            //bool isMage = (player is Mage);
            //두번째 방법
            Mage mage = (player as Mage);

            if (mage != null)
            {
                mage.mp = 10;
            }
        }