패스잇
모바일 개발 · 기초

Swift의 `Enum` (열거형)은 무엇이며, 원시 값(Raw Value)과 연관 값(Associated Value)의 차이점을 설명하고 각각의 사용 예를 들어주세요.

힌트 · `Enum`은 관련된 값들을 그룹화하는 타입입니다. `Raw Value`는 각 케이스에 고정된 값을 할당하고, `Associated Value`는 각 케이스와 함께 추가적인 데이터를 저장할 수 있습니다.

타입원시 값연관 값패턴 매칭타입 안전성

모범답안

Swift의 Enum은 관련된 값들을 그룹화하여 타입 안전성을 높이는 데 사용되는 타입입니다. 예를 들어, 요일을 표현하는 Enum을 만들 수 있습니다.

원시 값(Raw Value)은 Enum 케이스에 미리 정의된 고정된 값입니다. 예를 들어, enum Weekday: String { case monday = "Mon", tuesday = "Tue" } 처럼 각 요일에 해당하는 문자열을 할당할 수 있습니다. Weekday.monday.rawValue는 "Mon"을 반환합니다.

연관 값(Associated Value)은 Enum 케이스와 함께 추가적인 정보를 저장할 수 있게 해줍니다. 예를 들어, enum Result { case success(String), failure(Error) } 처럼 성공 시 문자열 메시지, 실패 시 에러 객체를 함께 저장할 수 있습니다. 연관 값은 패턴 매칭을 통해 접근할 수 있습니다. switch result { case .success(let message): print(message) ... } 와 같이 사용할 수 있습니다. 원시 값은 모든 케이스에 동일한 타입의 값을 할당해야 하지만, 연관 값은 각 케이스마다 다른 타입의 값을 가질 수 있다는 차이점이 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 iOS / Swift 면접 질문

← iOS / Swift 면접 질문 전체 보기