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); }
static void EnterGame(Player player) { // NULL 이란? // "없음"이라는 의미. 정수의 0과도 다름 //첫번째 방법 //bool isMage = (player is Mage); //두번째 방법 Mage mage = (player as Mage); if (mage != null) { mage.mp = 10; } }