• クラスとオブジェクトは同じものでしょうか?考えてみましょう。

結論から言えば違う物です。

クラスによって、フィールドとメソッドの存在が示されますが、具体的にどんなフィールドの値が格納されているかはクラスでは扱うことはできません。

よって、特定のクラスに対するオブジェクトを生成させてフィールドの値を格納することになります。

つまり、1つのクラスに対して複数のオブジェクトが存在する可能性があります。
また、クラスとオブジェクトの関係は例えて言うならば、クラスが設計図であり、オブジェクトはその設計図に従って製作されたものと考えることができます。

  • 参照型とはどんな型なのか、人に説明できるように考えてみましょう。

参照型はオブジェクトがメモリのどこに格納されているかについての情報が格納されます。
オブジェクトの持つフィールドにアクセスするには必ず参照型を経由してアクセスする必要があります。
言い換えると、あるクラスに対して生成されたオブジェクトは参照型という型による変数によってその存在を扱うことができます。

身長と好みの食べ物を表すフィールドを追加してみました。
それぞれのフィールドに関して値の取得と設定、値の表示を行うメソッドを追加しています。

そして、このクラスを使って実際に動作を行うサンプルプログラムも挙げておきます。内容は9章で説明する内容が含まれていますので、先に9章の内容を確認してからでお願いしますね。

まず、Personクラスにはフィールドは1個、メソッドは3個あります。

そして、setWeightメソッドを追加すると、以下のようになります。