<aside>
📌 목차
개요
- 스위프트의 특징 중 하나 : Protocol-oriented programming
- 프로토콜을 활용해서 코드를 짜면 clean, long-lasting, easy-to-refactor 한 API 를 만들 수 있다.
- 이 장에서는 프로토콜의 기본부터 시작하여 유의해야할 엣지 케이스까지 다룬다.
- 작은 RESTful 네트워크 라이브러리를 만든다.
- 위 라이브러리를 사용하여 간단한 앱을 만든다.
3.1 Getting started with protocols
개요
Hiding information
Encoding semantics
Protocol syntax
내가 내린 결론: 프로토콜을 왜 사용하는가?
3.2 Behind the scenes of protocols
- 다루는 주제: 프로토콜의 edge-cases 와 성능 상의 고려
Static and dynamic dispatch
함수가 호출되었을 때 어떤 일이 벌어질까?
함수들을 컴파일러의 마법처럼 보인다: 어느 한 곳에 함수를 선언해놓고, 다른 곳에서 어떠한 방법으로 실행된다.
그런데 생각보다 마법처럼 발생하는 것은 아니다.
런타임에 스위프트는 함수 이름을 찾는다. 그리고 함수의 주소로 이동해서 코드를 실행한다.