プログラミングの用語一覧へ
このページの目次

フィールドとは?

読み方:フィールド

最終更新:2026/08/18

3秒でわかる

クラスの中に宣言して、オブジェクトごとの状態を保持し続ける変数のこと。メソッドはこの値を読み書きしながら処理を進めます。

もう少し詳しく

どういうものか

フィールドは、クラスの内側に宣言する変数を指す。メソッドの中だけで生きるローカル変数と違って、そのオブジェクトが存在するあいだ値を保ち続ける。Java では「フィールド」、Python では「属性」、C++ では「メンバ変数」と呼ばれるが、指しているものはほぼ同じになる。オブジェクトの状態はフィールドが持ち、その状態を変える手続きをメソッドが持つ、という分担で書かれる。

なぜ必要か

同じ処理でも、対象ごとに違う値を覚えておかないと成り立たない。口座から出金する処理は、どの口座の残高なのかが分からなければ書けない。フィールドに残高を持たせておけば、メソッドの引数で毎回持ち回らなくても、そのオブジェクト自身の値として参照できる。データと手続きを一つにまとめる、という考え方の土台になっている。

具体例

public class BankAccount { private String owner; // フィールド private int balance; // フィールド public BankAccount(String owner, int balance) { this.owner = owner; this.balance = balance; } public void withdraw(int amount) { int fee = 100; // ローカル変数 this.balance -= amount + fee; } }

fee はメソッドを抜けた時点で消えるが、balance はオブジェクトが残るかぎり保持される。

つまずきやすいところ

引数とフィールドを同じ名前にしたときに this を書き忘れると、代入がローカル変数へ向かってフィールドが初期値のまま残る。値が変わらないのにエラーも出ないので原因を探しづらい。もう一つは static を付けたときの挙動で、これはクラス全体で 1 つしか存在しない共有の値になる。オブジェクトごとに数えたいカウンタstatic で宣言すると、全部の合計が入ってしまう。

似た用語との違い

用語生存期間どこに属するか
フィールドオブジェクトが残るあいだインスタンス
ローカル変数メソッドの実行中だけメソッド
static フィールドプログラムの実行中ずっとクラス


覚え方

フィールドはオブジェクトの持ち物、ローカル変数はその場のメモにあたる。持ち物は次にそのオブジェクトを使うときも残っているが、メモは処理を抜けた瞬間に捨てられる。値を後から参照したいのか、その場かぎりなのかで置き場所を決める。

知識のつながり

サイドバーと同じ推奨ルート・関連語を、まとめて確認できます。

現在地フィールドプログラミング

LEARN BY DOING

この用語を、教材で使ってみる

直接関連する編と、その編を含むコースです。用語だけで終わらず、ブラウザ上で実際に手を動かせます。

この用語を扱うコース

コース

Java入門:基礎文法編

69レッスン
コース

Java Silver対策

55レッスン
コース

Java道場 ハレノヒ珈琲のレジを作る10問

10レッスン
Javaコースの全編を見る