Javaのデータを保持する「フィールド(Field)」とは?
Javaにおいてフィールド(Field)とは、クラスやオブジェクトが持つデータ(状態)のことを指します。
他の言語では「メンバ変数」や「プロパティ」とも呼ばれます。
フィールドの基本
フィールドはクラスの中で定義された変数で、オブジェクトが持つ情報を表します。
各オブジェクトごとに異なる値を保持できるのが特徴です。
フィールドの定義方法
public class Person {
String name; // 名前(フィールド)
int age; // 年齢(フィールド)
}
フィールドの使い方
Person p = new Person();
p.name = "Taro";
p.age = 20;
System.out.println(p.name); // 出力: Taro
System.out.println(p.age); // 出力: 20
アクセス修飾子とフィールド
public
:どこからでもアクセス可能
private
:同じクラス内からのみアクセス可能(基本的にはこれ)
protected
:サブクラスや同一パッケージからアクセス可能
カプセル化のためのgetter/setter
public class Person {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
フィールドを private
にし、メソッド経由でアクセスするのが良い設計です(カプセル化)。
staticフィールド(クラス変数)
public class Counter {
static int count = 0; // すべてのインスタンスで共通
}
static
をつけたフィールドは、インスタンスごとではなくクラス全体で共有されます。
まとめ
フィールド(Field)は、Javaのクラスやオブジェクトが持つデータ(状態)を表す変数です。
カプセル化の原則にしたがって、基本的にはprivateで定義し、getter/setterでアクセスするスタイルを身につけましょう!