Swift 입문 | 구조체, 열거형, 튜플 | 열거형(enum)


enum은 한국어로 ‘열거형’라는 한다. 이는 여러 값 중 하나를 선택하는 경우에 사용된다.

이 enum은 “enum"라는 키워드를 사용하여 정의한다. 다음과 같은 형태이다.

enum 이름 {
    case 값 1
    case 값 2
    ...... 중략 ......
}

enum 후에 이름을 지정한다. 그리고 {} 내에 case를 사용하여 준비하는 값을 작성한다. 또는 case 후에 여러 값을 함께 쓸 수도 있다. 모두 동작은 동일하다.

enum 이름 {
    case 값1, 값2, ...
}

이렇게 생성된 enum은 ‘이름, 값’이라는 식으로 하여 값을 지정 사용할 수 있다.

enum은 “기본값"을 지정할 수 있다.

enum 이름 : 유형 {
    case 값 1 = 기본값
    case 값 2 = 기본값
    ......
}

클래스의 상속과 같은 느낌으로, enum의 이름 뒤에 기본값의 형식을 지정한다. 그리고 각각의 값 뒤에 등호(=)로 기본값을 할당한다. 이렇게 생성된 enum 값은 “rawValue"라는 속성을 호출하는 것으로 기본값을 얻을 수 있다.

그럼 실제 사용 예제를 보도록 하자.

enum Janken {
    case Choki
   case Goo
    case Paa
}

enum 가위바위보 : String {
    case Choki = "가위"
    case Goo = "바위"
    case Paa = "보"
}

var me = Janken.Goo
var you = 가위바위보.Goo
print(me)
print(you.rawValue)

위에 Janken과 가위바위보에 두 가지의 enum을 정의하고 사용하고 있다. 가위바위보에서는 각 값에 String의 기본값을 지정하고 있다.

Janken.Goo를 print하면 Goo라고 표시되지만, 가위바위보.Goo는 기본값인 “바위"가 표시된다.