「Javaのフィールド初期化方法まとめ:新人エンジニア向け完全ガイド」

こんにちは。ゆうせいです。

Javaではフィールド(クラス内の変数)を初期化する方法がいくつかあります。

初期化の仕方によって、

  • プログラムの可読性
  • 保守性
  • バグの発生しにくさ が大きく変わるので、基礎をしっかり押さえておきたいところです。

ここでは、それぞれの初期化方法を「高校生でもわかるレベル」で丁寧に説明していきますね!


フィールドの初期化方法一覧

まず、Javaにおける代表的なフィールド初期化方法はこの4つです!

方法特徴
デフォルト初期化何もしなくてもJavaが自動で設定する
直接初期化フィールド宣言と同時に値を代入
コンストラクタ初期化オブジェクト生成時に値を渡して初期化
イニシャライザブロックコンストラクタに共通する初期化コードをまとめる

順番に、分かりやすい例と一緒に見ていきましょう!


1. デフォルト初期化

Javaでは、フィールドを何も初期化しなかった場合、自動的にデフォルト値が設定されます。

デフォルト値一覧

データ型デフォルト値
int0
double0.0
booleanfalse
char'\u0000'(空文字)
参照型(例:String)null

public class Example {
    private int number;
    private String text;

    public void printValues() {
        System.out.println(number); // 0
        System.out.println(text);   // null
    }
}

ここでのポイント

何もしていなくても、フィールドは初期化されているんです!


2. 直接初期化

フィールドの宣言と同時に値を代入する方法です。

public class Example {
    private int number = 10;
    private String text = "こんにちは";
}

メリット

  • コードがシンプル
  • 初期値が一目で分かる

デメリット

  • 初期値が動的に変わる場合には対応しづらい

たとえば、「現在の日付を初期値にする」といった動的なケースには向きません。


3. コンストラクタによる初期化

オブジェクトを作るとき(newする時)に初期値をセットする方法です!

public class Example {
    private int number;
    private String text;

    // コンストラクタ
    public Example(int number, String text) {
        this.number = number;
        this.text = text;
    }
}

オブジェクト生成時に初期化します!

Example example = new Example(42, "こんにちは");

メリット

  • 柔軟に初期値を設定できる
  • 必須入力チェックもできる

デメリット

  • コンストラクタが複雑になりがち

4. イニシャライザブロックによる初期化

インスタンスイニシャライザブロックというものを使う方法もあります。

public class Example {
    private int number;
    private String text;

    {
        number = 10;
        text = "こんにちは";
    }
}

このブロックはコンストラクタの前に自動的に実行されます。

メリット

  • コンストラクタに共通する処理をまとめられる

デメリット

  • あまり一般的ではないので、可読性が落ちる可能性あり

比較まとめ表

最後に各方法を比較してみましょう!

方法柔軟性コードのシンプルさ用途例
デフォルト初期化低い高い単純なデータ
直接初期化中程度高い定数的な初期値
コンストラクタ初期化高い中程度外部から値をもらう
イニシャライザブロック中程度低い共通初期化処理

まとめ

フィールドの初期化は、目的に応じて方法を選びましょう!

  • 単純なデータには直接初期化デフォルト初期化
  • 外部から値を受け取りたいならコンストラクタ初期化
  • コンストラクタに共通処理があるならイニシャライザブロックも検討

適切な初期化で、堅牢で読みやすいコードを目指しましょう!

セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク

投稿者プロフィール

山崎講師
山崎講師代表取締役
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。