Rustは、いくつかの関数(メソッド とも呼ばれる)に関連付けられた構造体である オブジェクト の概念をサポートしています。
どのメソッドの最初のパラメータも、メソッド呼び出しに関連付けられたインスタンスへの参照でなければなりません(例: instanceOfObj.foo())。Rustが使うのは下記の通り:
&self - インスタンスへの不変の参照。&mut self - インスタンスへの可変の参照。メソッドは、キーワード impl を持つ実装ブロックの中で定義されます。
impl MyStruct {
...
fn foo(&self) {
...
}
}