swift문법

[Swift] Part10_열거형

화찌님 2022. 8. 11. 22:09

1. 열거형의 기본 개념

:타입 자체를 한정된 사례(case) 안에서 정의할 수 있는 타입

타입으로 만든 경우, 미리 정의해둔 타입의 케이스에서 벗어날 수 없으므로 코드의 가독성과 안정성이 높아짐

enum Weekday{
	case monday 
    case tuesday 
    case wednesday 
    case thursday
    case friday
    case saturday
    case sunday
}

var today:Weekday = .monday

 


2. 열거형의 원시값과 연관값

<원시값>

타입을 생성하거나 다룰때 조금 더 편하게 사용하려는 목적

enum Weekday{
	case monday //원시값 0
    case tuesday //원시값 1
    case wednesday //원시값 2 ..
    case thursday
    case friday
    case saturday
    case sunday
}

var today:Weekday = .monday 
var today:Weekday = Weekday(rawValue: 0)!

11번째 12번째 둘다 같은뜻. 월요일을 나타냄

 

<연관값>

보다 구체적인 정보 저장을 위해서 사용

enum Computer{
	case cpu(core: Int, ghz: Double)
    case ram(Int, String)
    case hardDisk(gb: Int)
}


var chip : Computer = Computer.cpu(core: 6, ghz: 1.4)
var chip1 : Computer = Computer. ram(16, "DDR4")

 

*하나의 열거형에서 원시값과 연관값을 동시에 사용하는 것은 불가능하다*

 


3. 열거형과 switch문의 활용

열거형은 한정된사례로 만든 타입이고, 스위치문은 표현식에 대한 분기처리에 최적화 되어있기 때문에, 활용에 적합하다.

 

'swift문법' 카테고리의 다른 글

[Swift] Part11-1_클래스와구조체(속성과 메서드)  (0) 2022.08.21
[Swift] Part11_클래스와 구조체  (0) 2022.08.20
[Swift] Part9_컬렉션  (0) 2022.08.11
[Swift] Part8_옵셔널  (0) 2022.08.11
[Swift] Part7_함수  (0) 2022.08.11