メソッドをクラス間で共有する プロトコルという用語は、比較的ネットワーク用語として利用されていますが、Objective-C に限っては、複数のクラスで実装される同一の名前のメソッドを共有するための、メソッドの宣言のことを指します。 Java 言語や C# 言語ではインタフェースと呼ばれる概念に近い存在です。 プロトコルが利用されるのは、プログラムの設計上の問題で、クラスが特定のメソッドを実装していることを保障するための手段として使われます。 例えば、特定のライブラリ仕様に基づいたクラスは指定したプロトコルに準拠させなければならない、といった関係を築くことができます。 プロトコルが提供するのは宣言されたメソッドだけで、メソッドの実装がどのような処理を実行するかは自由です。 プロトコルを宣言するには @protocol コンパイラディレクティブを用います。 この中で、プロトコルが規約として指