Swift 언어의 큰 특징 중 하나가 바로 프로토콜 지향 언어라는 것. 객체 지향 언어들은 공통 기능을 모듈화하기 위해 class의 상속을 이용하지만 Swift에서는 프로토콜을 활용하여 상속이 불가능한 struct enum 타입에서도 공통 기능을 모듈화하여 사용할 수 있도록 하였다. Apple은 2015년 9월, WWDC에서 Swift 2.0을 발표하면서 Swift는 프로토콜 지향 언어(Protocol-Oriented Language)라고 발표했다. 객체 지향 프로그래밍(Object Oriented Programming, OOP) 패러다임에 기반을 둔 언어들은 class의 상속을 사용해 해당 타입이 가지는 공통적인 기능을 모듈화해 구현한다. 하지만 class와 같은 참조 타입의 경우 다중 스레드 환경에서..