プロトコルとは
- クラスや構造体が特定の性質や機能を持つために必要なインターフェースを定義する機能
- インターフェースは型がどのようなプロパティやメソッドを持っているか示す
- プロトコルが要求するインターフェースを型が満たすことを準拠という
メリット
複数の型で共通となる性質を抽象化できる
定義方法
protocolキーワードを使用して宣言し、{}内にプロパティやメソッドなどのプロトコルを構成する要素を定義
protocol SomeProtocol {}
準拠方法
型はプロトコルに準拠することにより、プロトコルで定義されたインターフェースを通じて扱うことが可能となる
struct 構造体名 : プロトコル名1, プロトコル名2... {
構造体の定義
}