7-3-1 クラスやインスタンスでデータを記憶させよう

クラスは、「データ」と「処理のまとまり」を表現します。処理のまとまりは、クラスに定義するメソッドで表現できます。

一方、データを特定の範囲で共有したい場合があります。たとえば、クラスのインスタンスの範囲に限ってデータを共有する、などです。

このように、データを共有するための変数をクラスで定義することができます。

データを共有する範囲などによって、クラスで定義できる変数には以下のような特徴があります。

クラスで定義可能な変数の種類 データを共有する範囲 共有範囲の広さ 変更を前提とするか
インスタンス変数 同一インスタンスのみ 変更前提
クラス変数 クラスのインスタンス全て 変更前提
定数 クラスの外からでも参照可能 変更されない前提

ここでは、クラスで定義できる変数を使って前節「7-2 クラスの書き方を学ぼう」で記述したプログラムを修正します。