본문 바로가기
C#

클래스 형식 변환

by Mostlove 2023. 7. 5.
728x90
반응형

using static CSharp.Program;

namespace CSharp
{
    class Player
    {
        protected int hp;
        protected int attack;
    }

    class Knight : Player
    {

    }
    class Mage : Player
    {
        public int mp;
    }

    class Program
    {
        static void EnterGame(Player player)
        {
            Mage mage = (player as Mage);
           /* bool isMage = player is Mage;*/
           //if(isMage)
            if (mage != null)
            {
                mage.mp = 1;
            }
            
        }
        static void Main(string[] args)
        {
            Knight knight = new Knight();
            Mage mage = new Mage();

            // Mage 타입 -> Player 타입
            // Player 타입 -> Mage타입?

            EnterGame(knight);
            EnterGame(mage);
        }
    }
}

반응형

'C#' 카테고리의 다른 글

문자열  (0) 2023.07.05
다형성  (0) 2023.07.05
은닉성  (0) 2023.07.05
상속  (0) 2023.07.05
static 이란  (0) 2023.07.05