이번에는 Protocol에 대해서 알아보려고 한다. Protocol 특정 역할을 하기 위한 메소드, 프로퍼티, 기타 요구사항 등의 청사진을 정의 구조체, 클래스, 열거형은 프로토콜을 채택해서 기능을 실행하기 위한 프로토콜의 요구사항을 실제로 구현할 수 있다. 프로토콜이 요구하는 사항을 모두 충족하면 해당 타입이 채택한 프로토콜을 준수할 수 있다고 할 수 있다. 대략적으로 정리를 하면 프로토콜은 일종의 규약이다. 즉 해당 규약을 지켜야 한다고 생각하면 된다. 예를들어 인터넷 통신 프로토콜인 TCP/IP인 경우에 인터넷 통신을 할 수 있도록 지켜야하는 규약인 것처럼 해당 프로토콜을 채택하려면 프로토콜의 내용을 지켜야 한다는 내용으로 이해하면 될 것 같다. 그럼 이제 protocol의 사용 방법에 대해서 알아..