C#

210525 C#_as 연산자

S_pot 2021. 5. 25. 16:18
using System;

namespace _210525_011
{
    class Car
    {

    }

    class HyunDai : Car
    {

    }

    class Sonata : HyunDai
    {

    }

    class KIA : Car
    {

    }

    class K5 : KIA
    {

    }

    class Program
    {
        static void Main(string[] args)
        {
            Car aCar = new K5();
            Sonata aSonata;

            aSonata = aCar as Sonata;
            Console.WriteLine("aSonata는 null값을 가지는 가? : " + (aSonata == null));
            KIA aKIA = aCar as KIA;
            Console.WriteLine("aKIA는 null값을 가지는 가? : " + (aKIA == null));

            /*
            // 아래는 코드 문법상으로는 문제가 없다.
            // 실행시 변환불가 = Run Time Error발생
            aSonata = (Sonata)aCar;
            */
            Console.WriteLine("프로그램 정상종료");
        }