1. 프로토콜


iOS는 특정 컨트롤에서 발생하는 각종 이벤트를 효율적으로 관리하기 위해 **대리자(delegate)**를 지정하여 이벤트 처리를 위임하고, 실제로 이벤트가 발생하면 위임된 대리자가 콜백 메소드를 호출해주는 **델리게이트 패턴(Delegate Pattern)**을 많이 사용하는데, 이 패턴을 구현하기 위해 이용되는 것이 바로 프로토콜이다.

프로토콜에 선언된 프로퍼티나 메소드 형식을 프로토콜의 ‘명세’ 라고 부른다.

프르토콜의 명세에 맞추어 실질적인 내용을 작성하는 것을 ‘프로토콜을 구현(Implementt)’ 이라고 한다.

1.1 프로토콜의 정의


protocol 프로토콜명 {
	구현해야 할 프로퍼티 명세1
	구현해야 할 프로퍼티 명세2
	...
	구현해야 할 메소드 명세 1
	구현해야 할 메소드 명세 2
	...
}

1.2 프로토콜 구현(implements)