Swift의 메타타입(Metatype)과 미러(Mirror)에 대해 설명해주세요.
메타타입 : 타입의 타입. ‘Type’
MyClass.self
// MyClass의 메타타입을 얻음
미러 : 인스턴스의 내부 구조에 대한 리플렉션(reflection) 정보를 제공하는데 사용
struct MyStruct {
var name: String
var age: Int
}
let instance1 = MyStruct(name: "Alice", age: 30)
let mirror1 = Mirror(reflecting: instance1)
// Mirror children 속성을 통해
for case let (label?, value) in mirror1.children {
// name: Alice
// age: 30
print("\\(label): \\(value)")
}