Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
Tags
- 인프런
- map
- 스택영역
- vector
- 큐
- static_cast
- 배열
- std::map
- 객체지향
- c#
- 자료구조
- 멀티쓰레드
- 차이점
- std::unordered_map
- 공부
- 해쉬맵
- 알고리즘
- 기술면접
- 프래그멘테이션
- 스택
- thread
- 벡터
- list
- 리스트
- 트리
- Queue
- rookiss
- 반복문
- MonoBehaviour
- 힙영역
Archives
- Today
- Total
호빵의 IT 개발소
[C#] 상속성 본문
상송석을 사용하기 위해서는 부모 클래스와 자식 클래스를 고려하여 생성하여야 합니다.
게임으로 예를 들면 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