Service Client Dev 2팀의 iOS 개발자 김유진입니다.
안녕하세요. 김유진입니다. 이번 글에서는 제가 iOS 신입 스터디에서 가장 흥미롭게 공부했던 Swift의 타입 시스템을 다루겠습니다. 어떤 프로그래밍 언어든 코드를 재사용하기 위한 도구가 있습니다. Swift에서는 제네릭스(generics)를 이용해서 유연하게 재사용 가능한 코드를 작성할 수 있습니다. 제네릭스는 Swift를 사용하다 보면 끊임없이 만나게 되는데요. Array, Dictionary를 포함해 표준 라이브러리의 수많은 API가 제네릭스로 구현되어 있기 때문입니다. Swift 제네릭스는 널리 쓰이면서 해마다 진화해 왔습니다. 또한 앞으로도 문법과 기능 측면에서 수많은 변화를 예고하고 있는 역동적인 주제입니다. 이번 글에서는 Swift의 제네릭스와 프로토콜 타입, opaque result 타입이 어떻게 맞물려 코드 재사용 문제를 풀어 나가고 있는지 살펴보고, 타입 시스템이 앞으로 나아갈