brunch

You can make anything
by writing

C.S.Lewis

by 이응 Jan 02. 2024

Swift 열거형에 대하여

열거형이란?

연관된 항목들을 묶어서 표현할 수 있는 타입이다. 스위프트의 열거형은 enum이라는 키워드로 선언 할 수있다. 열거형은 정의해준 항목 값 외에는 추가/수정이 불가하다.그렇기 때문에 정해진 값만 열거형 값에 속할 수 있다. 열거형은 다음 같은 경우에 주로 사용된다. 


- 제한된 선택지를 주고 싶을 때

- 정해진 값 외에는 입력받고 싶지 않을 때

- 예상된 입력 값이 한정되어 있을 때


기본 열거형 선언하기

Menu 라는 이름을 가진 열거형에 pasta,pizza,chicken,rice 라는 항목이 있다. 각 항목은 그 자체가 고유의 값이며, 항목이 여러가지일때 한 줄에 모두 표현해 줄 수도 있다. 


열거형의 원시 값 지정과 사용

열거형의 각 항목은 자체로도 하나의 값이지만 항목의 원시 값도 가질 수 있다. 즉, 특정 타입으로 지정된 값을 가질 수 있다는 뜻이다. 특정 타입의 값을 원시값으로 가지려면 열거형의 이름 오른쪽에 타입을 명시해 주어야 한다. 또 원시 값을 사용하고 싶을 때는 rawValue라는 프로퍼티를 통해 가져올 수 있다. 

아래 코드에서는 "저는 오늘 밥을 먹었습니다." 가 출력된다. 

열거형의 연관 값

스위프트의 열거형 각 항목이 연관 값을 가지게 되면, 기존 프로그래밍 언어의 공동체 형태를 띌 수도 있다. 열거형 내의 항목(case)이 자신과 연관된 값을 가질 수 있다. 연관 값은 각 항목 옆에 소괄호로 묶어 표현할 수 있다. 다른 항목이 연관 값을 가진다 해도 모든 항목이 연관 값을 가질 필요는 없다. 


여러 열거형을 응용한 코드도 살펴보자


매거진의 이전글 명령형 프로그래밍과 선언형 프로그래밍
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari