7-3-1 クラスやインスタンスでデータを記憶させよう
クラスは、「データ」と「処理のまとまり」を表現します。処理のまとまりは、クラスに定義するメソッドで表現できます。
一方、データを特定の範囲で共有したい場合があります。たとえば、クラスのインスタンスの範囲に限ってデータを共有する、などです。
このように、データを共有するための変数をクラスで定義することができます。
データを共有する範囲などによって、クラスで定義できる変数には以下のような特徴があります。
クラスで定義可能な変数の種類 | データを共有する範囲 | 共有範囲の広さ | 変更を前提とするか |
---|---|---|---|
インスタンス変数 | 同一インスタンスのみ | 小 | 変更前提 |
クラス変数 | クラスのインスタンス全て | 中 | 変更前提 |
定数 | クラスの外からでも参照可能 | 大 | 変更されない前提 |
ここでは、クラスで定義できる変数を使って前節「7-2 クラスの書き方を学ぼう」で記述したプログラムを修正します。