Swift による iOS 開発入門

ホーム > Swift のクラスと構造体 > プロトコル

プロトコル

「プロトコル」というと、ネットワークの話でサーバーとクライアントがやり取りする取り決めのことを思い出す人も多いと思います。

HTTP プロトコル、SMTP プロトコルとか、そういうものですね。

しかし、Swift でいうところのプロトコルはそれとは違います。

C# や Java などでいうインターフェイスにあたる考え方です。

いずれにせよ、「登場人物が複数いるときの両者の取り決め」という意味では同じなんですけどね。

それでは Swift のプロトコルをみていきましょう。

プロトコルとは?

プロトコル (protocols) は、クラス、構造体、Enum に使われて、メソッドやプロパティなど、必要な処理を行なうメソッドやプロパティの要件を記述します。

あるプロトコルを満たしているとき、それは「プロトコルに従っている (conform)」といいます。

次の例では Foo という名前のプロトコルを定義して、それを Car というクラスで使っています。

Foo では x2 というプロパティと hello() というメソッドを要求しているので、Car クラスではそれらを実装しています。

ホーム > Swift のクラスと構造体 > プロトコル