using static CSharp.Program;
namespace CSharp
{
//다형성
class Player
{
protected int hp;
protected int attack;
public virtual void Move()
{
Console.WriteLine("Player 이동!");
}
}
class Knight : Player
{
public override void Move()
{
base.Move();
Console.WriteLine("Knight 이동!");
}
}
class Mage : Player
{
public int mp;
public override void Move()
{
Console.WriteLine("Mage 이동!");
}
}
class Program
{
static void EnterGame(Player player)
{
player.Move();
}
static void Main(string[] args)
{
Knight knight = new Knight();
Mage mage = new Mage();
// Mage 타입 -> Player 타입
// Player 타입 -> Mage타입?
knight.Move();
mage.Move();
EnterGame(mage);
}
}
}
C#
다형성
728x90
반응형
반응형