静的に定義された変数にはどのような特徴があるでしょうか?
静的変数は次のような特徴があります。
- 永続性が高い: 静的変数は、プログラム実行中に消滅せず、プログラム終了まで常に存在します。
- 静的変数は、オブジェクトの作成を必要とせず、プログラム内の任意の関数やメソッドからアクセスできるグローバルにアクセスできるようになっています。
- 共有変数:同じクラスのオブジェクトすべてで共有され、変更されると全てのオブジェクトに影響が及ぶ、静的な変数。
- デフォルト値:静的変数の初期値はデータ型に依存しており、たとえば整数は0、ブーリアンはfalse。
- 静的ストレージ領域に保存される: 静的変数は、スタックやヒープではなく、静的ストレージ領域に保存されます。これは、静的変数のメモリ空間がプログラム起動時に割り当てられており、実行時に動的に割り当てられないことを意味します。
- クラススコープを持つ: 静的変数はその変数を宣言したクラス内でのみ使用でき、それ以外のクラスからアクセスすることはできない。
- クラス名から直接アクセス可能 静的変数は、クラスのインスタンスを生成する必要がなく、クラス名にドット演算子をつないで直接アクセスできる。
- 共有ストレージ: 静的変数の値は複数のオブジェクト間で共有され、あるオブジェクトが静的変数の値を変更すると、他のオブジェクトがその静的変数を参照すると変更後の値を取得します。
つまり、静的変数は、全体的に統一されている、共有されている、永続的という特性をもち、複数のオブジェクト間でデータを共有する必要がある場合に適しています。