[C#] 구조체 사용 예제 Example of struct use
구조체 사용 예제
안녕하세요 정보처리마법사 입니다.
이번 포스팅의 주제는 구조체 사용에 관한 내용입니다.
구조체는 다음과 같은 특징이 있습니다.
1. 매개 변수 없는 기본 생성자를 정의 하면 오류.
2. 구조체의 본문에서 인스턴스 필드를 초기화 하면 오류.
3. 매개 변수가 있는 생성자를 사용하거나, 선언 후 개별적으로 접근하는 방법으로만 초기화 가능.
4. 액세스 할 수 없는 멤버 변수는 생성자 내부에서만 초기화 가능.
아래 이미지는
유니티로 만들고 있는 게임에 사용될 몬스터의 간단한 구조체(struct)입니다.
멤버 변수들과 매개 변수가 있는 생성자로 구성 되어 있습니다.
당연한 이야기지만 나중에 구조체의 멤버 변수에 바로 접근하려면 변수를 Public 으로 선언해야 합니다.
예제에서는 Default로 Private 입니다.
Ctrl + C , Ctrl + V
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
public struct Monster
{
string id, name, hp, atk, dfs, criRate, avoidanceRate, dropMoney, monsterStory;
public Monster(string _id, string _name, string _hp, string _atk, string _dfs, string _criRate, string _avoidanceRate, string _dropMoney, string _monsterStory)
{
id = _id;
name = _name;
hp = _hp;
atk = _atk;
dfs = _dfs;
criRate = _criRate;
avoidanceRate = _avoidanceRate;
dropMoney = _dropMoney;
monsterStory = _monsterStory;
}
}
|
cs |
저는 리스트 제네릭을 사용해서 사용할 예정이므로 이런식으로 리스트를 하나 만들었습니다. 이 부분은
개인의 용도에 맞게 쓰셔도 되고 안 쓰셔도 됩니다.
1
|
public List<Monster> listMonster = new List<Monster>();
|
cs |
아래와 같이 리스트에 몬스터 구조체의 생성자를 이용하여 추가 하였습니다.
실제 사용은 아래처럼 하시면 됩니다.
변수의 데이터형이 모두 String형 인 이유는 XML파일에서 데이터를 로드하기 때문입니다.
Ctrl + C , Ctrl + V
1
|
Monster monster = new Monster("1", "DeathKnight", "3980000", "5627", "337", "0.25", "0.1", "72500", "story...");
|
cs |
이상으로 포스팅을 마칩니다. 감사합니다.
Fin.
잘 못 된 정보가 있으면 말씀해주세요~
공감버튼 클릭은 작성자에게 큰 힘이 됩니다. 행복한 하루 되세요.