코어 데이터(Core Data)는 애플리케이션 내에서 영구적인 데이터 저장을 위한 프레임워크입니다. 이를 통해 데이터를 관리하고 검색할 수 있으며, 관계형 데이터를 사용하는 애플리케이션에서는 자주 사용됩니다.
코어 데이터를 사용하는 경우, 각 데이터 엔티티(Entity)는 속성(Attribute)과 관계(Relationship)로 구성됩니다. 이러한 엔티티들은 모델(Model)을 통해 정의되어야 합니다.
코어 데이터에서 상속을 사용하면, 한 엔티티가 다른 엔티티의 속성과 관계를 상속받을 수 있습니다. 이를 통해 코드의 재사용성을 높이고 유지보수를 간편하게 할 수 있습니다.
상속 설정하기
- Xcode에서 데이터 모델(Data Model) 파일을 엽니다.
- 새로운 엔티티를 추가하고 원하는 속성과 관계를 정의합니다.
- 상속을 받고자 하는 엔티티를 선택합니다.
- 엔티티 탭(Entity Inspector)에서 부모 엔티티(Parent Entity) 옵션을 선택합니다.
- 드롭다운 메뉴에서 원하는 부모 엔티티를 선택합니다.
import CoreData
class Person: NSManagedObject {
@NSManaged var name: String?
@NSManaged var age: Int16
}
class Employee: Person {
@NSManaged var employeeID: String?
}
위의 예시 코드에서 Person
클래스는 NSManagedObject
를 상속받은 코어 데이터 엔티티입니다. Person
클래스에는 name
과 age
라는 속성이 있습니다.
Employee
클래스는 Person
클래스를 상속받은 엔티티로, employeeID
라는 추가적인 속성이 있습니다.
상속한 엔티티 사용하기
...
let employee = NSEntityDescription.insertNewObject(forEntityName: "Employee", into: context) as! Employee
employee.name = "John Doe"
employee.age = 30
employee.employeeID = "12345"
...
코드에서 Employee
엔티티의 객체를 생성하고 사용할 수 있습니다. 상속을 통해 부모 엔티티에 정의된 속성들도 함께 사용할 수 있습니다. 따라서 Employee
객체에는 name
, age
, employeeID
속성이 모두 포함되어 있습니다.
요약
코어 데이터의 상속을 사용하면, 엔티티 간의 관계를 효율적으로 관리하고 코드를 재사용할 수 있습니다. 코어 데이터의 모델을 잘 설계하고 상속을 활용하면 유연하고 확장 가능한 애플리케이션을 개발할 수 있습니다.
더 자세한 내용은 애플 공식 문서를 참조하세요.