프로그래밍에서 가독성은 중요한 부분이다.
가독성을 높이는데 주로 사용되는 열거형에 대해서 알아본다.
다음 상황을 살펴보자
이런 경우에 열거형 도입으로 해결이 가능하다.
enum 열거형이름
{
값1, // 0
값2, // 1
값3 // 2
}
enum Direction
{
Up = 1,
Down = 3,
Left = 5,
Right = 7
}
enum ByteStatus : byte
{
OK = 1,
Fail = 255
}
//열거형 사용
Direction d = Direction.Up;
//사용 예시
enum WeaponType
{
Sword,
Bow,
Staff
}
WeaponType weapon = WeaponType.Bow;
if (weapon == WeaponType.Bow)
{
Debug.Log("활 사용 중!");
}
switch (weapon)
{
case WeaponType.Sword:
Debug.Log("칼로 공격!");
break;
case WeaponType.Bow:
Debug.Log("화살 발사!");
break;
case WeaponType.Staff:
Debug.Log("마법 시전!");
break;
}
//숫자와 열거형 간 변환
int num = (int)WeaponType.Staff; // enum → int
WeaponType type = (WeaponType)1; // int → enum
//주의 : 존재하지 않는 숫자로 캐스팅하면 예외 없이 이상한 값이 들어갈 수 있음
WeaponType invalid = (WeaponType)999;
Debug.Log(invalid); // 출력됨! → 타입 안전성 주의
// 값 검증이 필요한 경우 Enum.IsDefined(typeof(T), value) 사용