메타타입
메타타입
타입의 타입이다.
클래스, 구조체, 열거형, 프로토콜 타입을 포함하여 모든 타입의 타입을 의미한다.
self
표현식을 사요해서 타입의 값으로 접근할 수 있다.SomeClass.self는 SomeClass의 인스턴스가 아닌 타입 자체를 반환한다.
즉, 힙이나 스택 영역이 아닌 데이터 영역에 있는 타입 인스턴스를 이야기한다.
type(of: )
함수를 호출하여 해당 인스턴스의 런타임 타입의 값으로 접근할 수 있다.
예시
메타타입 선언 방법
커스텀타입의 경우
클래스이름.Type
구조체이름.Type
열거형이름.Type
프로토콜의 경우
프로토콜이름.Protocol
Last updated