1. CoreData란?
어플리케이션의 데이터 모델을 관리하고 저장하는 것을 도와주는 iOS의 객체 그래프 관리 프레임 워크
- SQLite 데이터 베이스의 효율성 + 객체 지향 프로그래밍의 장점 → 복잡한 구조를 쉽게 관리하게 해줌.
Core Data는 애플이 제공하는 프레임워크로, 앱의 영구 데이터를 관리하고 객체 그래프를 관리하는 데 사용됩니다. 이를 통해 데이터를 저장하고, 조회하고, 업데이트하고, 삭제할 수 있습니다. Core Data는 관계형 데이터베이스(SQLite) 기반이지만, 데이터베이스 직접 관리보다는 객체-관계 매핑(ORM) 방식을 제공합니다.

Core Data의 주요 역할
- 데이터 영구 저장: Core Data는 앱 데이터를 영구 저장소에 저장하여 앱이 종료되어도 유지되도록 합니다.
- 데이터 관리: Core Data는 데이터를 추가, 조회, 수정, 삭제할 수 있는 다양한 기능을 제공합니다.
- 객체 관리: Core Data는 데이터베이스와는 다르게 객체로 데이터를 다룰 수 있습니다. 즉, 데이터베이스의 행(row) 대신 객체(object)를 조작하는 방식으로 데이터를 관리합니다.
2. Core Data의 주요 개념과 기능

Core Data의 주요 개념 정리
- NSManagedObjectModel (데이터 모델)
- Core Data에서 앱의 데이터 구조를 정의하는 부분입니다.
- 이 모델에는 앱에서 사용할 엔티티(Entity)와 각 엔티티의 속성(Attribute), 엔티티 간의 관계(Relationship)가 정의됩니다.
- NSPersistentContainer (데이터 저장소 설정 및 관리)
- Core Data를 쉽게 설정하고 관리할 수 있도록 해주는 도구입니다.
- Core Data가 데이터를 저장할 저장소(Persistent Store)를 설정하고 초기화하는 역할을 합니다.