クラスが持つデータ「フィールド(Field)」とは?
C#のクラスの中で使われる変数のことを フィールド(Field) といいます。
オブジェクトの状態(情報)を保持するための要素で、クラスが生成されたときに自動的にメモリが割り当てられます。
フィールドの基本構文
[アクセス修飾子] 型名 フィールド名;
例:Personクラスにおけるフィールド
public class Person {
public string name; // フィールド
public int age; // フィールド
}
上記のように、name
や age
がフィールドであり、各インスタンスがそれぞれの値を持ちます。
フィールドの使い方
Person p = new Person();
p.name = "太郎";
p.age = 20;
Console.WriteLine(p.name); // → 太郎
Console.WriteLine(p.age); // → 20
アクセス修飾子とカプセル化
フィールドは通常、private(非公開)として定義し、
外部からのアクセスはプロパティ(Property)を通じて制御します。
public class Product {
private int price; // フィールド(直接アクセス不可)
public int Price { // プロパティで公開
get { return price; }
set { price = value; }
}
}
フィールドの種類
- インスタンスフィールド: インスタンスごとに別々の値を持つ
- 静的フィールド(static): クラス全体で共有される
- 定数フィールド(const / readonly): 一度設定されたら変更不可
例:static / const フィールド
public class MathUtil {
public static double Pi = 3.14;
public const int MaxValue = 100;
}
まとめ
フィールド(Field)は、C#のクラス内でオブジェクトが持つデータを保持するための変数です。
外部から直接アクセスさせず、プロパティを通じてコントロールする設計(カプセル化)が一般的です。
public
/ private
/ static
/ readonly
などの修飾子を使い分けて、安全で読みやすいクラス設計を目指しましょう!