호빵의 IT 개발소

[C#] 상속성 본문

C#, 유니티/C# 기초

[C#] 상속성

호빵Stack 2022. 1. 3. 21:41

상송석을 사용하기 위해서는 부모 클래스와 자식 클래스를 고려하여 생성하여야 합니다.

 

게임으로 예를 들면 knight, mage, archer가 있습니다. 각 직업에 public int hp, public int attack, public int id이 공통적으로 들어가게 됩니다. 각각 적용시켜주어도 되지만 프로그램이 커지게 되면 작업에 어려움이 생기게 됩니다. 그래서 Player라는 부모클래스를 생성하여 자식 클랙스인 knight, mage, archer에 공통사항을 상속시켜 주게 됩니다. 그렇게 되면 Player안에 있는 내용을 knight, mage, archer가 가져와서 사용이 가능하게 됩니다.

class Player //부모 클래스
{
	static public int counter = 1;
    public int id;
    public int hp;
    public int attack;
}

class Knight : Player //class Knight 뒤에 : Player를 상속시켜준다
{
	int a;
    
	public Knight()
    {
    	this.a = 10; //자신의 클래스 안에있는 변수를 가져와 선언
        base.hp = 100; //부모 클래스에 있는 변수를 가져와 선언
        base.attack = 5;
    }
}

class Mage : Player //자식 클래스
{
	public Mage()
    {
        base.hp = 50;
        base.attack = 15;
    }
}

class Archer : Player //자식 클래스
{
	public Archer()
    {
        base.hp = 80;
        base.attack = 10;
    }
}

부모는 기반이라고도 불립니다.

자식은 파생이라고도 불립니다.

 

프로그램 실행 시 당연히 부모 클래스가 먼저 실행되고 그 다음 자식 클래스가 실행됩니다.

 

여기서 자신의 클래스 안에 있는 변수를 불러올때는 this를 사용하게 되고 부모 클래스 안에 있느 변수를 불러올때는 base를 사용하게 됩니다.

 

 

---------------------------------------------------------------------------------------------------------------------------

참고 : [인프런] Rookiss님의 [C#과 유니티로 만드는 MMORPG 게임 개발 시리즈] Part1: C# 기초 프로그래밍 입문

'C#, 유니티 > C# 기초' 카테고리의 다른 글

[C#] 클래스 형식 변환  (0) 2022.01.03
[C#] 은닉성  (0) 2022.01.03
[C#] static  (0) 2022.01.03
[C#] 스택과 힙  (0) 2022.01.02
[C#] 복사와 참조  (0) 2022.01.02
Comments