Swift 기초 문법 - 24. 프로토콜 associatedType

정성윤·2023년 7월 20일
0

Swift 이론

목록 보기
26/64
post-thumbnail

Swift에서 프로토콜의 'associatedType'은 프로토콜에서 사용되는 연관타입을 선언하는 데 사용됩니다.

연관 타입은 프로토콜 내에서 사용되는 일종의 플레이스홀더로, 실제 구현하는 타입에 따라 결정됩니다.
연관 타입은 제네릭과 비슷한 개념이지만, 특정한 타입이 아닌 다양한 타입을 지원합니다.

'associatedType'을 사용하여 프로토콜 내에서 일반화된 타입을 지정할 수 있으며, 이를 구현하는 각 타입은 자신만의 실제 타입을 할당할 수 있습니다.

protocol MyProtocol {
    associatedtype MyType
    // 연관 타입 선언
    // MyType은 실제 구현하는 타입에 따라 결정됨
}

MyProtocol은 associatedtype인 MyType을 선언합니다.

구현 타입에서 associatedtype을 실제타입으로 지정하기 위해서는 typealias 키워드를 사용합니다.

struct MyStruct: MyProtocol {
    typealias MyType = Int
    // MyType을 Int로 지정
}
class MyClass: MyProtocol {
    typealias MyType = String
    // MyType을 String으로 지정
}

associatedType은 제네릭을 사용하여 유연성을 제공하고, 프로토콜을 다양한 타입에 대해 일반화 할 수 있게 합니다.

연관 타입을 사용하면 프로토콜을 구현하는 타입에 따라 다른 타입을 지정할 수 있으므로, 타입 안정성과 재사용성을 높일 수 있습니다.

  • 프로토콜에서 제네릭 형태의 타입을 가질 수 있게 할수 있습니다.

참고(출처) : 개발하는 정대리, 야곰(Swift5)

profile
이유있는 스위프트 개발자

1개의 댓글

comment-user-thumbnail
2023년 7월 20일

정말 유익한 글이었습니다.

답글 달기