# MVVM 아키텍처 (iOS) > MVVM pattern, ViewModel, data binding, separation of concerns, 테스트 가능성 - 20 면접 질문 - Mid-Level - [면접 질문: iOS](https://sharpskill.dev/ko/technologies/ios/interview-questions.md) ## 1. MVVM 아키텍처에서 ViewModel이란 무엇인가요? **답변** ViewModel은 비즈니스 로직을 캡슐화하고 UIKit이나 SwiftUI에 의존하지 않고 뷰 상태를 관리합니다. Model과 View 계층을 연결하면서 명확한 관심사 분리를 유지합니다. 이 아키텍처는 단위 테스트를 가능하게 하고 코드의 유지보수성과 재사용성을 향상시킵니다. ## 2. MVVM에서 Model의 주요 책임은 무엇인가요? **답변** Model은 애플리케이션의 데이터와 비즈니스 로직을 나타냅니다. 데이터 구조를 정의하고 비즈니스 규칙을 적용하며 View 및 ViewModel 계층과 독립적으로 유지됩니다. UI 프레임워크로부터의 Model 독립성은 재사용성과 테스트 가능성을 보장합니다. 애플리케이션 데이터의 단일 진실 공급원 역할을 합니다. ## 3. MVVM 아키텍처에서 View의 주요 역할은 무엇인가요? **답변** View는 데이터를 표시하고 사용자 상호작용을 캡처하는 역할을 합니다. 프레젠테이션 코드만 포함하고 비즈니스 로직은 피해야 합니다. View는 data binding을 통해 ViewModel에 바인딩되어 단순하고 테스트 가능한 상태를 유지합니다. SwiftUI에서는 @ObservedObject나 @StateObject를 사용하여 ViewModel을 관찰합니다. UIKit에서는 Combine을 사용하여 변경 사항을 구독합니다. ## 17개 추가 질문 이용 가능 - MVVM 맥락에서 data binding이란 무엇인가요? - SwiftUI에서 @Published와 @ObservedObject의 차이점은 무엇인가요? 무료로 가입하기: 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 - [Codable 및 JSON 파싱](https://sharpskill.dev/ko/technologies/ios/interview-questions/codable-json-parsing.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 - [푸시 알림](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/mvvm-architecture