[swift] 연관 타입

연관 타입은 Swift 프로토콜의 일부로, 프로토콜 내에서 사용되는 제네릭 타입의 이름을 정의하는 데 사용됩니다.

연관 타입 예시

protocol Container {
    associatedtype Item
    func addItem(_ item: Item)
    var count: Int { get }
}

위의 예시에서, Container 프로토콜은 Item이라는 연관 타입을 정의합니다. 이 연관 타입은 addItem 메서드에 사용되고, 컨테이너 내의 아이템의 개수를 반환하는 count 속성에도 사용됩니다.

연관 타입의 이점

연관 타입을 사용하면 프로토콜을 정의할 때 실제 타입을 지정하지 않고도 제네릭한 인터페이스를 선언할 수 있습니다. 그리고 실제 타입은 프로토콜을 채택하는 구조체나 클래스에서 제공됩니다.

연관 타입은 일반적으로 컨테이너, 스택, 큐 등과 같은 데이터 구조를 표현하는 프로토콜에서 자주 사용됩니다.

요약

연관 타입은 Swift 프로토콜을 더 유연하고 제네릭하게 만드는 도구로, 일반적으로 데이터 구조를 표현하는데 사용됩니다.

더 많은 정보를 원하시면 Swift 공식 문서를 참고해 주세요.