# Codable 및 JSON 파싱 (iOS) > Codable 프로토콜, JSONEncoder, JSONDecoder, 커스텀 키, 중첩 JSON, 날짜 전략 - 20 면접 질문 - Mid-Level - [면접 질문: iOS](https://sharpskill.dev/ko/technologies/ios/interview-questions.md) ## 1. Swift의 Codable 프로토콜은 무엇인가요? **답변** Codable는 Encodable과 Decodable을 결합한 typealias입니다. Swift 구조체를 JSON 또는 다른 형식으로/에서 직렬화 및 역직렬화할 수 있습니다. 외부 프레임워크 없이 iOS에서 JSON을 처리하는 표준 메커니즘입니다. ## 2. Encodable과 Decodable의 차이점은 무엇인가요? **답변** Encodable은 Swift 인스턴스를 JSON 데이터로 직렬화합니다(객체에서 JSON으로). Decodable은 반대 작업을 수행하여 JSON을 Swift 인스턴스로 변환합니다. 이 프로토콜들은 직교적이어서 구조체는 필요에 따라 하나, 다른 하나 또는 둘 다 구현할 수 있습니다. ## 3. JSON 디코딩 시 CodingKeys 열거형의 용도는 무엇인가요? **답변** CodingKeys는 Swift 프로퍼티를 실제 JSON 키에 매핑합니다. Swift 코드(camelCase)와 JSON(snake_case) 사이의 명명 불일치를 처리합니다. CodingKeys가 없으면 프로퍼티 이름이 JSON 키와 정확히 일치해야 합니다. ## 17개 추가 질문 이용 가능 - JSON을 디코딩하기 위해 JSONDecoder 인스턴스를 어떻게 생성하나요? - 직렬화가 성공한 후 JSONEncoder.encode()는 무엇을 반환하나요? 무료로 가입하기: https://sharpskill.dev/ko/login ## 기타 iOS 면접 주제 - [Swift 기초](https://sharpskill.dev/ko/technologies/ios/interview-questions/swift-basics.md): 25개 질문, Junior - [Swift 언어 기초](https://sharpskill.dev/ko/technologies/ios/interview-questions/swift-language-essentials.md): 15개 질문, Junior - [UIKit 기초](https://sharpskill.dev/ko/technologies/ios/interview-questions/uikit-fundamentals.md): 18개 질문, Junior - [UIViewController 생명주기](https://sharpskill.dev/ko/technologies/ios/interview-questions/uiviewcontroller-lifecycle.md): 20개 질문, Junior - [UserDefaults & Keychain](https://sharpskill.dev/ko/technologies/ios/interview-questions/userdefaults-keychain.md): 20개 질문, Junior - [애플리케이션 생명 주기](https://sharpskill.dev/ko/technologies/ios/interview-questions/app-lifecycle.md): 20개 질문, Junior - [Auto Layout & Constraints](https://sharpskill.dev/ko/technologies/ios/interview-questions/auto-layout-constraints.md): 24개 질문, Mid-Level - [UITableView & UICollectionView](https://sharpskill.dev/ko/technologies/ios/interview-questions/uitableview-uicollectionview.md): 25개 질문, Mid-Level - [SwiftUI 기초](https://sharpskill.dev/ko/technologies/ios/interview-questions/swiftui-basics.md): 18개 질문, Mid-Level - [SwiftUI 상태 관리](https://sharpskill.dev/ko/technologies/ios/interview-questions/swiftui-state-management.md): 22개 질문, Mid-Level - [SwiftUI 내비게이션](https://sharpskill.dev/ko/technologies/ios/interview-questions/swiftui-navigation.md): 18개 질문, Mid-Level - [Networking & URLSession](https://sharpskill.dev/ko/technologies/ios/interview-questions/networking-urlsession.md): 20개 질문, Mid-Level - [Core Data](https://sharpskill.dev/ko/technologies/ios/interview-questions/core-data.md): 22개 질문, Mid-Level - [프로토콜 지향 프로그래밍](https://sharpskill.dev/ko/technologies/ios/interview-questions/protocol-oriented-programming.md): 20개 질문, Mid-Level - [MVVM 아키텍처](https://sharpskill.dev/ko/technologies/ios/interview-questions/mvvm-architecture.md): 20개 질문, Mid-Level - [푸시 알림](https://sharpskill.dev/ko/technologies/ios/interview-questions/push-notifications.md): 18개 질문, Mid-Level - [단위 테스트와 XCTest](https://sharpskill.dev/ko/technologies/ios/interview-questions/unit-testing-xctest.md): 20개 질문, Mid-Level - [UI 테스트](https://sharpskill.dev/ko/technologies/ios/interview-questions/ui-testing.md): 18개 질문, Mid-Level - [Xcode 및 빌드 시스템](https://sharpskill.dev/ko/technologies/ios/interview-questions/xcode-build-system.md): 16개 질문, Mid-Level - [Swift Package Manager](https://sharpskill.dev/ko/technologies/ios/interview-questions/swift-package-manager.md): 16개 질문, Mid-Level - [Memory Management & ARC](https://sharpskill.dev/ko/technologies/ios/interview-questions/memory-management-arc.md): 22개 질문, Senior - [Combine Framework](https://sharpskill.dev/ko/technologies/ios/interview-questions/combine-framework.md): 24개 질문, Senior - [Concurrency & async/await](https://sharpskill.dev/ko/technologies/ios/interview-questions/concurrency-async-await.md): 26개 질문, Senior - [iOS Design Patterns](https://sharpskill.dev/ko/technologies/ios/interview-questions/ios-design-patterns.md): 24개 질문, Senior - [성능 최적화](https://sharpskill.dev/ko/technologies/ios/interview-questions/performance-optimization.md): 22개 질문, Senior - [보안 및 암호화](https://sharpskill.dev/ko/technologies/ios/interview-questions/security-encryption.md): 20개 질문, Senior - [SwiftUI Advanced](https://sharpskill.dev/ko/technologies/ios/interview-questions/swiftui-advanced.md): 22개 질문, Senior - [iOS 애플리케이션 아키텍처](https://sharpskill.dev/ko/technologies/ios/interview-questions/ios-app-architecture.md): 22개 질문, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/ko/technologies/ios/interview-questions/codable-json-parsing