독개

[C#] 20화 상속의 기초

by #독개#

 

/*
 * 클래스끼리 똑같을때 코드재활용성을 향상시키기 위한 문법
 * 똑같은거 또 치기 싫어서 사용함, 유지보수 좋음
 * 똑같은 계열의 클래스임을 파악하는 감
 * 
 * 사용법
 * 공통되는 기능을 하는 맴버변수와 맴버함수를 걷어낸다. 겹치는 부분만 새로운 클래스만들어준다
 * C#에서 클래스 상속이란 하나만 가능하다(상속을 여러개 받는 언어들도 존재 c++에선 여러개 클래스 상속 가능)
 */

// Public : 외부까지 , Protected : 자식까지 , (Private) : 나만
//자식들에게 Potected해주면 자식에게 가선 실제로 Private가 되는거지

class FightUnit //자식들에게 공통된부분
{
    protected int Hp;
    protected int Att;
    
    public void Damage(FightUnit _fightUnit)  //자식클래스 자료형 들어갈수 있다
    {

    }
}

class Player : FightUnit
{
    int Lv = 1;
    void Heal()
    {
        Hp = 100;
    }
}

class Monster : FightUnit
{

}

namespace _20화_상속_기초
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Player player = new Player();            
            /*업캐스팅 자식이 부모 자료형이 되는것, 그러므로써 자식의 능력은 버린다*/
            //이 반대는 다운캐스팅은 최대한 지양(피하라) 자식들이 여러명이면 어디로 돌아갈지 실수한다.
            FightUnit fightUnit = player;
            player.Damage(player);

        }
    }
}

'🔥 프로그래밍 학습 > C#' 카테고리의 다른 글

[C#] 27화 partial class  (0) 2022.11.21
[C#] 24화 프로퍼티 Property  (0) 2022.11.21
[C#] 17-2화 enum  (0) 2022.11.21
[C#] 14화 Static 함수  (0) 2022.11.21
[C#] 12화 ★레퍼런스의 메모리 구조 및 처리 개념  (0) 2022.11.20

블로그의 정보

독한 개발자

#독개#

활동하기