S_pot

C#_추상클래스(abstract), 자식 클래스에 부모메서드를 상속 본문

C#

C#_추상클래스(abstract), 자식 클래스에 부모메서드를 상속

S_pot 2021. 6. 3. 16:05
namespace _210603_009
{
    abstract class Human
    {
        abstract public void Talk();
    }

    abstract class Kor : Human
    {
        public override void Talk()
        {
            Console.WriteLine("안녕하세요...");
        }
    }

    abstract class Jpn : Human
    {
        public override void Talk()
        {
            Console.WriteLine("안녕하시므니까...");
        }
    }

    class Hong : Kor
    {

    }
    
    class Dama : Jpn
    {

    }

    class Program
    {
        static void Main(string[] args)
        {
            Hong aHong = new Hong();
            Dama aDama = new Dama();
            aHong.Talk();
            aDama.Talk();

            Human aHuman;
            aHuman = aHong;  // 상위개념에서 하위개념을 가리킬 수 있다.
           // aHong = aHuman;  // 하위개념에서는 상위개념을 가리킬 수 없다.
            aHuman.Talk();

            aHuman = aDama;
            aHuman.Talk();
        }
    }
}