콘텐츠로 건너뛰기
Home » Associated Type

Associated Type

[Swift] 연관 타입(Associated Type)

연관타입(Associated Type)

Objective-C의 Associated Object와 비슷한 명칭이라 좀 헷갈릴 수 있는데, 연관타입은 프로토콜 등에서 현재 타입과 관련이 있는 타입을 의미한다.

연관타입은 프로토콜의 일부에 쓰이는 어떤 타입에 대한 플레이스홀더같은 것으로 프로토콜이 실제로 적용되기 전에는 사용되지 않는 타입1을 말한다. 연관타입은 typealias 키워드를 통해 정의한다. 다음 예는 Container라는 프로토콜의 정의이다.

protocol Container {
    typealias ItemType
    mutating func append(item: ItemType)
    var count: Int { get }
    subscript(i:Int) -> ItemType { get }
}

위 프로토콜은 세 가지 특정을 정의하고 있다. 더 보기 »[Swift] 연관 타입(Associated Type)