티스토리 뷰

반응형

 

 


Protocol Associated Type Declaration
프로토콜에 associatedType 선언하기

프로토콜(Protocol)은 associatedType 키워드를 사용해서 관련 타입(associated types)를 선언합니다.
associatedtype은 프로토콜의 정의 일부로서 사용되는 별명타입을 제공합니다.

관련타입(associatedtype)은 제네릭 매개변수 절에 있는 타입 매개변수와 유사합니다. 하지만, associatedtype은 정의되어 있는 프로토콜의 Self와 관련이 있다는 특징이 있습니다. 앞서 말한 Self는 프로토콜을 채택하고 준수하는 실질적인 대상 타입을 참조합니다. 이에 대한 더 자세한 내용이 궁금하다면, Associated Types를 참고하세요.

 


associatedtype constraint configuration with where clause
where절을 사용한 associatedtype 제약 설정

개발자는 프로토콜 선언 부의 where 절에서 제네릭(generic)을 사용할 수 있습니다.
associatedtype의 사용 시 재정의가 필요없도록 where절에 준수해야 할 프로토콜 제약을 명시해서 associatedtype에 대한 제약을 주도록 할 수 있습니다.

 

아래의 코드를 예시로 들자면, SubProtocolA, SubProtocolB 내의 associatedtype은 Equatable 프로토콜을 준수해야하는 제약을 갖고 있습니다. 


하지만 SubProtocolA는 동일한 associatedType을 재정의하면서 경고를 유발합니다. 결과적으로, 두가지 선언 방법 중, SubProtocolB와 같이 where 절을 사용해서 associatedtype을 정의하여 associatedtype의 재정의를 방지하는 것이 바람직 합니다. 

 

반응형
댓글
반응형
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함