콘텐츠로 건너뛰기
Home » Opaque Return Type

Opaque Return Type

Opaque 리턴타입(Swift 5.1)

이 블로그의 다른 글에서 Swift의 타입 지우기에 대해서 살펴본 바 있습니다. 특정한 연관 타입에 의존하지 않는 프로토콜은 그 자체로 타입처럼 취급될 수 있지만, 연관 타입에 의존하는 프로토콜은 일종의 제네렉과 비슷하기 때문에 구체적인 타입처럼 사용될 수 없습니다. 타입 지우기(Type Erasure)는 특정한 프로토콜을 따르는 Any 타입을 만들어서 프로토콜을 채택한 실제 타입을 감추고 프로토콜의 기능적 잇점은 누릴 수 있게 하는 기법입니다. 하지만 타입 지우기를 사용하려면 특정 타입을 감싸는 별도의 타입을 만들어야 하고, 성능상으로도 오버헤드가 발생하는 제약이 있습니다. Swift는 프로토콜을 실제 구체적인 타입으로 사용할… 더 보기 »Opaque 리턴타입(Swift 5.1)