Rust admite el concepto de un objeto que es una estructura asociada a algunas funciones (también conocidas como métodos).
El primer parámetro de cualquier método debe ser una referencia a la instancia asociada a la llamada de dicho método (por ejemplo, instanceOfObj.foo()). Rust utiliza:
&self - para una referencia inmutable a la instancia.
&mut self - para una referencia mutable a la instancia.
Los métodos se definen dentro de un bloque de implementación haciendo uso de impl:
impl MyStruct {
...
fn foo(&self) {
...
}
}