本来のオブジェクト指向の考え方では、「オブジェクトの状態を表すもの」をプロパティと呼称します。
例: オブジェクト「ファイル」の状態「最終更新日」
オブジェクト指向のプログラム言語において、このプロパティを実現するために「オブジェクト内の変数」の形式で使うのが一般的です。
File o = new File();
Date d = o.LastUpdateDate; // ここ
ですが、変数では正確な状態を取得できないケースがあるとします。
Date d = o.LastUpdateDate; // だれかに更新されたら古い情報になる
Date e = o.GetLastUpdateDate(); // 取得する処理が必要
そこで C# には「変数の様に操作できるオブジェクト」という機能があります。
public Date LastUpdateDate {
get { return this.GetLastUpdateDate(); }
}
Date d = o.LastUpdateDate; // 実は GetLastUpdateDate() の結果を取得している
この「変数の様に操作できるオブジェクト」を、プログラミング言語では「プロパティ」と呼びます。
区別する為に「オブジェクト内の変数」は「フィールド」となります。
しかし変数のように使うには、変数の「設定」と「参照」の二通りの使い方を真似しなければなりません。そのためプロパティには、設定を担当する getter メソッドと、参照を担当する setter メソッドが存在します。
まとめ
フィールド: オブジェクト内の変数
プロパティ: オブジェクト内の変数の様に操作できるオブジェクト
setter: プロパティにおける「変数の設定」を担当するメソッド
getter: プロパティにおける「変数の参照」を担当するメソッド
例題の name ですが、これは記述が省略されていますが setter メソッドの第一引数のことです。