Opaque Types

Swift 5.1에서 새롭게 소개된 Opaque Types이 있습니다🙌 처음 알아보게된 계기는 SwiftUI에서 뷰를 드로잉할때 View 프로토콜을 채택하고 body를 그릴때 some이라는 키워드를 View 프로토콜 앞에 붙여 반환 타입을 View 프로토콜 자체로 지정해줄 수 있는걸 알고 조금 딥하게 알아봤습니다🙋🏻 📣Opaque Type의 핵심은 구체적인 반환 타입을 가리고 프로토콜 혹은 프로토콜을 채택하는 타입을 반환하는 역할을 해줍니다. 이러한 역할을 통해 정보를 숨기는것이 모듈과 모듈을 호출하는 코드 사이의 경계에 유용합니다. 타입이 프로토콜 유형인 값을 반환하는것과 반대로 Opaque Type은 타입 ID를 유지하죠. 🥊 Protocol Type을 채택하는 인스턴스 생성 시 내부 정보를 노출하기에 반환 타입을 명시하게 되고 공용 인터페이스의 일부가 아닌 타입이 누출되죠🥲 즉, 사용하는 모듈 외부의 코드는 변환에 대한 구현 세부 사항들을 설명할 필요는 사실 없는데 이를 위배하게 됩니다. 이러한점을 Opaque Type을 통해 해결할 수 있으며 파생되어 Protocol Type과의 차이가 존재하기에 늘 그렇듯 때에 맞는 적절한 구현이 필요하다 생각해요🥹

Opaque Types

iOYES

Opaque Types

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2023년 1월 9일 오전 3:27

 • 

저장 4조회 1,531

댓글 0