019-オブジェクト指向の基本-インスタンスの作成【新人エンジニアが最初に覚えたい100のJava文法】

ユーチューブ動画

インスタンスの作成について解説します。

ソースコード

public class BasicClass {
	public static void main(String[] args) {
		Product product1 = new Product();
		product1.productName = "pencil";
		product1.price = 100;
		Product product2 = new Product();
		product2.productName = "eraser";
		product2.price = 60;
	}
}

解説

クラスを作成しただけでは利用することができません。

クラスからインスタンスを作成することで、初めてクラスを利用することができます。

1度クラスを作成してしまえば、クラスを何度も利用して、インスタンスを複数作成することができます。

よくクラスが金型で、インスタンスは金型から生成されるものと例えられます。

インスタンスが生成されるとメモリ上で領域が確保されるイメージを持つといいでしょう。

サンプルコードを見てください。

他の動画で作成したProductクラスのインスタンスを作成しています。

インスタンスを作成するときには、new クラス名()と記述します。

ちょうど、=の右側の部分がインスタンスになります。

この段階で、クラスとは別の領域が新しく確保されたと考えてください。

どこに格納されたのか分かりませんがJavaの実行環境ではきちんと保存されています。

その保存された場所のことを参照という言い方をします。

その参照はクラスをデータ型とする変数に保存する決まりになっています。

まとめると、1行目は、Productクラスのインスタンスを作った、Productクラスの参照を入れる変数に代入し、product1という名前をつけたと解釈することができます。

インスタンスを作成すると、インスタンスの中身に対して、アクセスできるようになります。

productNameという変数やpriceという変数をProductクラスで作成しましたので、

それらの変数に対して、値を代入することができます。

product1のインスタンスに、鉛筆や100円というデータを入れたとイメージしてください。

次のインスタンスでは、また新しい領域が作成されます。

Product1とはまったく別の領域です。

こちらの新しいインスタンスには、消しゴムや60円というデータを入れたとイメージしてください。

こうして1つのクラスを元にして、2つの組のデータを保存することができたということになります。

以上、インスタンスの作成について解説しました。

このサンプルコードをJavaタッチタイプゲームとして遊ぶことができます。