💭

interface(インタフェース)型は、メソッドのシグニチャの集まりで定義しますってどういうこと?

2023/01/07に公開

A Tour of Goで下記の文章を理解できなかったので軽くまとめます。

interface(インタフェース)型は、メソッドのシグニチャの集まりで定義します。

シグネチャを調べるとこちらの記事で解説されてました。

シグネチャとは、「署名」という意味の英単語。ITの分野では、手紙の署名のようにメッセージの末尾に付加される定型文を指すほか、いくつかの分野で、署名になぞらえた機能やデータをシグネチャということがある。

さらに読み進めていくとプログラミングにおけるシグネチャで具体的に解説している。

プログラミングの分野では、関数やメソッドの名前、引数の数やデータ型、返り値の型などの組み合わせのことをシグネチャという。

例としてsortパッケージのインターフェースを載せます。

type Interface interface {
 Len() int
 Less(i, j int) bool
 Swap(i, j int)
}

Goのインターフェースはinterface内でメソッド名、引数、戻り値を定義するだけで具体的な処理がありません。
つまりinterface(インタフェース)型は、メソッドのシグニチャの集まりで定義します。とはinterface(インタフェース)型は、メソッド名、引数、戻り値の集まりで定義します。と言い換えることができます。

Discussion