[Swift] 열거형 (enum)

Dzeko·2021년 7월 21일

Swift 기본

목록 보기
10/20
post-thumbnail

열거형

관련있는 데이터들이 멤버로 구성되어 있는 자료형 객체

  • 원치않는 값이 잘못 입력되는 것 방지
  • 입력받을 값이 한정되어 있을 때
  • 특정 값 중 하나만 선택하게 할 때
    ex) 남/여, RGB
  • enum 자체가 하나의 데이터 타입으로, Upper Camel Case를 사용하여 이름을 정의합니다.
  • 각 case는 Lower Camel Case 카멜케이스로 정의합니다.
  • 각 case는 그 자체가 고유의 값입니다.(각 case에 자동으로 정수값이 할당되지 않음)

열거형 정의

enum 열거형명{
열거형 정의
}

enum Compass {
  case North
  case South
  case East
  case West
}

or

enum Compass {
  case North, South, East, West
}
// 하나의 case문에 멤버 나열하는 것도 가능


print(Compass.North)  // North

var x = Compass.West
print(type(of: x))  // Compass형 타입

x = .East
print(x) // East

앞서서 Compass.North를 썼으므로
문맥에서 타입의 추론이 가능한 시점(등호 좌변의 변수 타입이 확정적일 때)에는 열거형명을 생략할 수 있다.

열거형 멤버별 기능 정의

enum Compass {
  case North
  case South
  case East
  case West
}
var direction : Compass
direction = .South
switch direction {
case .North:
  print(“북”)
case .South:
  print(“남”)
case .East:
  print(“동”)
case .West:
  print(“서”)
}

Raw 값 (Raw Values)

0개의 댓글