728x90
반응형
Swift의 열거형은 다른 언어들의 열거형에 비해서 강력한 기능을 갖고 있다.
[ 열거형 - enum ]
열거형은 연관된 항목들을 묶어서 표현할 수 있는 타입이다. 열거형은 배열, 딕셔너리 등의 타입과 다르게 프로그래머가 정의해준 항목 값 외에는 추가/수정이 불가하다.
때문에 열거형은 아래 같은 경우에 주로 사용해준다.
- 제한된 선택지를 주고 싶을 때
- 정해진 값 외에는 입력받고 싶지 않을 때
- 예상된 입력 값이 한정되어 있을 때
- 열거형의 이름은 타입이므로 대문자 카멜케이스를 사용하여 이름을 정의해준다.
- 스위프트의 열거형은 각각의 case가 고유의 값으로 취급된다.
enum 이름 {
case 이름1
case 이름2
case 이름3, 이름4, 이름5
...
}
// 열거형 예시
enum Weekday {
case mon
case tue
case wed
case thu, fri, sat, sun
}
var day: Weekday = Weekday.mon // 선언 시에는 꼭 타입을 명시해줘야 함
day = .tue // 이후에는 이렇게 축약해서 사용 가능
아래처럼 제한된 선택지들만 switch case문에 넣어서 활용 가능하다.
이 때 열거형의 모든 값에 대한 case를 넣어줘야 한다!! (다 넣어주지 않을 경우 default 처리 필수)
- rawValue값을 추출하도록 해주면서 원시값을 갖게 해줄 수도 있다.
정수 타입 뿐만 아니라 Hashable 프로토콜을 따르는 모든 타입이 원시값의 타입으로 지정될 수 있다.
- 또한 열거형에 메서드도 넣어줄 수 있다.
728x90
반응형
'Swift' 카테고리의 다른 글
[ Swift ] Swift 기초 문법8 - 클로저 (0) | 2023.01.30 |
---|---|
[ Swift ] Swift 기초 문법7 - 값 타입과 참조 타입 (클래스, 구조체, 열거형 비교) (0) | 2023.01.30 |
[ Swift ] Swift 기초 문법5 - 구조체, 클래스 (0) | 2023.01.29 |
[ Swift ] Swift 기초 문법4 - 옵셔널 (0) | 2023.01.28 |
[ Swift ] Swift 기초 문법3 - 조건문, 반복문 (0) | 2023.01.28 |