BLOG
C#

C# 10. enum, 열거형 알아보기


March 4, 2022, 11:16 p.m.



C#에는 다양한 자료형이 있습니다. 그런데 만약 어떤 추상적인 상태를 저장하고 싶다면 어떻게 해야 할까요? 예를 들어 어떤 게임 캐릭터의 상태가 땅에 닿은 상태인지, 공중에 있는 상태인지, 공격중인지에 대한 정보들을 말이에요.

그것을 간단히 0, 1, 2와 같은 정수나 "ground", "air", "attack" 과 같은 문자열로 저장할 수도 있을 것입니다. 그렇지만 이러한 방법들은 혼선이 올 수 있고 직관적이지 않습니다.

이러한 어떤 상태들을 저장하거나 어떤 카테고리등을 만들 때는 enum, 혹은 열거형이라고 불리우는 자료형을 사용하면 유용합니다. enum에 대해서 더 자세히 알아볼까요?

1. enum


enum은 아래와 같이 선언합니다.

enum State {
    Stay,
    Running,
    Attacking,
    Jumping,
}

이를 참조하여 사용할때는 아래와 같이 사용합니다.

Character c = new Character(State.Stay);

c.mode = State.Running;

위와 같이 enum에 선언되어있는 이름만 사용할 수 있습니다.

2. enum을 이용해 숫자를 이름으로 표현하기


enum Skill { Jab = 3, Counter = 10, Uppercut = 8, Kick = 5, }

위와 같이 이름과 숫자를 연결할 수도 있습니다. 복싱 기술과 그에 따른 점수를 연결해 놓았네요.

그러면 아래와 같이 활용할 수도 있게 됩니다.

int score = (int)Skill.Counter; // 10

score = score - 2; // 8
Skill s = (Skill)score; // Skill.Uppercut

<kbd<ToString()을 이용하면 이름만 남길 수도 있습니다.

string s = Skill.Kick.ToString(); // "Kick"

이번 포스트에서는 간단하게 enum에 대해서 알아보았습니다. 정말 유용하게 쓰이는 자료 구조이므로 잘 사용해 보시기 바랍니다!

enum



Search