Game Development, 게임개발/개발

Enumeration, 열거,나열 [Unity]

게임이 더 좋아 2021. 4. 19. 01:03
반응형
728x170

 

바로 본론으로 들어가자.

 


 

Enums은 보통

클래스를 정의할 때 

클래스의 property 값을 정할 때 사용될 수 있다.

변수가 적절한 값을 갖게할 수 있고

숫자를 문자열로 나타낼 수 있다.

 

public enum ePetType{
	none,
    dog,
    cat,
    bird,
    fish,
    other
}

이와 같이 그냥 나열하면 된다.

대부분 클래스 밖에서 정의된다.

 

** enum은 따로 선언되지 않으면 순서대로 값을 가진다. none = 0, dog = 1 ... 이런 식으로

 

 

public enum eLifeStage{
	baby,
    teen,
    adult,
    senior,
    deceased
}

 

 


 

이제 클래스에서 사용해볼까

 

물론 사용할 때 enum's type으로 사용하면 된다.

아래의 ePetType처럼 자료형을 저렇게 쓴다.

 

public Class Pet{
	public string name = "Flash";
    public ePetType pType = ePetType.dog;
    public eLifeStage age = eLifeStage.baby;
}

 

 

** 명시적으로 선언되지 않으면 초기값으로 첫번째 값을 가진다.

예를 들면 아래 age는 값으로 eLifeStage.baby를 가진다.

public eLifeStage age   // By default, age is eLifeStage.baby

 

 

 

void Awake(){
	int i = (int) ePetType.cat; // i is 2
    ePetType pt = (ePetType) 4; // pt is ePetType.fish

아까 순서대로 값을 가진다 했지??

이렇게 값을 할당할 수 있다.

 

**물론 형변환, TypeCasting을 해주어야 한다.

 

 

이렇게 많은 경우가 있기 때문에 열거형은 차라리 Swtich 문과 많이 쓰인다.

728x90
반응형
그리드형