generated at
SwiftのProtocol

いつ使うのか
構造体やクラスの作成時など、インターフェースとして使う
あくまでも型なので、配列の型や引数などにも指定できる
何が嬉しいのか
他の言語で似てる機能はなにか
interfaceににてる
swift
protocol Animal { var name: String { get } var age: Int { set get } func bark() -> String }
interfaceと型クラスの両方の性質を持つ
overrideはない
extensionを使ってデフォルト実装を与えるか、そのprotocolの実装時に指定するのみ ref



参考