Go, Vantage point
가까운 곳을 걷지 않고 서는 먼 곳을 갈 수 없다.
Github | https://github.com/overnew/
Blog | https://everenew.tistory.com/
티스토리 뷰
처음에 enum을 접했을 때 도대체 왜 쓰는지 몰라서 당혹했던 기억이 있다.
하지만 상수가 많이 사용되는 상황에서는 이만큼 편리한 자료형이 없다!!
다음과 같이 이름을 나열하면 기본적으로 정수 숫자의 상수형이 된다.
1
2
3
4
5
6
|
enum StageName
{
start,
middle,
end
}
|
cs |
따라서 start = 0, middle = 1, end = 2를 나타내게 된다.
열거형도 하나의 자료구조(struct 혹은 class)라고 생각하고, 사용할 때는 열거형명.키워드 로 사용할 수 있다.
(ex: (int)StageName.start == 1)
단, IDE가 enum의 값마다 형식을 인식하지 못하므로 형식이 int값이라면 (int)로 형변환하여 사용해야 한다.
연속된 정수가 아닌 값을 적용하고 싶다면 값을 대입해 주면 된다.
1
2
3
4
5
6
|
enum StageName
{
start = 0,
middle = 3,
end = 500
}
|
cs |
(ex: (int)StageName.end == 500)
열거형을 사용하다 보면 반대로 키워드를 상수값으로 변환할 필요가 있을 수 있다.
이때는 간단하게 "(열거형명)상수값"으로 형변환하여 사용하면 된다.
(ex: (StageName)500 == StageName.end )
잘 이용한다면 상수를 관리하는데 효과적이기 때문에 특히 비트 연산에 잘 사용되는 듯하다.
하지만 정수형 값만 대입할 수 있으므로 만능은 아님에 주의하며 사용해보자.
참조: https://docs.microsoft.com/ko-kr/dotnet/csharp/language-reference/builtin-types/enum
'개발 > Unity' 카테고리의 다른 글
[Unity] 유니티에서 테스트 주도 개발(TDD) 적용하기 (0) | 2022.04.17 |
---|---|
[유니티] IPointerHandler 인터페이스가 작동하지 않는 이유 (0) | 2022.03.07 |
[유니티] Coroutine으로 Update 대체하기 (Update 최적화) (0) | 2022.01.18 |
[유니티] Instantiate로 인한 Awake와 Start의 차이 확인하기 (0) | 2022.01.15 |
[Unity] 유니티에서의 다중 상속과 다이아몬드 문제 (2) | 2022.01.05 |