본문 바로가기
C#/수업내용

[ C# 8일차 ] 오버라이딩

by 왹져박사 2023. 1. 10.
728x90

App Class

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Collections;

namespace Study09
{
    class App
    {


        //생성자
        public App()
        {
            Console.WriteLine("App");

            Marine marine = new Marine();
            Firebat firebat = new Firebat();

            marine.Attack();
            firebat.Attack();

        }
    }
}

 

TerranUnit Class

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study09
{
    class TerranUnit
    {
        //생성자 
        public TerranUnit()
        {

        }

        //재정의(부모 클래스의 virtual 키워드)
        public virtual void Attack()
        {
            Console.WriteLine("장전을 합니다.");
        }
    }
}

 

Firebat Class

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study09
{
    class Firebat : TerranUnit
    {
        //생성자
        public Firebat()
        {

        }
        public override void Attack()
        {
            base.Attack();
            Console.WriteLine("파이어뱃이 화염방사기로 공격했습니다. ");
        }
    }
}

 

Marine Class

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Study09
{
    class Marine : TerranUnit
    {
        //생성자
        public Marine()
        {

        }

        public override void Attack()
        {
            base.Attack();
            Console.WriteLine("마린이 총으로 공격 했습니다. ");
        }
    }
}
728x90