インスタンスを作る
約5分で読めます第25章
この章で学ぶこと
クラス(設計図)をもとに実物を作る「インスタンス化」を学びましょう。クラスとインスタンスの関係を理解するのがオブジェクト指向の第一歩です。
インスタンスって何だろう?
前の章で「犬」の設計図(クラス)を作りました。でも設計図があるだけでは犬は存在しません。
設計図をもとに実際に作ったものをインスタンスと呼びます。「実物」「実体」とも言えます。
設計図(クラス)は1つですが、そこから何個でも実物(インスタンス)を作れます。
インスタンスの作り方
java
1クラス名 変数名 = new クラス名();new というキーワードを使って新しいインスタンスを作ります。
コードで確認しよう
java
1class Dog {2 String name;3 int age;45 void bark() {6 System.out.println(name + ":ワン!");7 }8}910public class Main {11 public static void main(String[] args) {12 Dog dog1 = new Dog(); // 1匹目の犬を作る13 dog1.name = "ポチ";14 dog1.age = 3;1516 Dog dog2 = new Dog(); // 2匹目の犬を作る17 dog2.name = "ハナ";18 dog2.age = 5;1920 dog1.bark(); // ポチ:ワン!21 dog2.bark(); // ハナ:ワン!22 }23}Dog クラスという1つの設計図から、dog1(ポチ)と dog2(ハナ)という2つの別々のインスタンスを作りました。
フィールドとメソッドへのアクセス
インスタンスのフィールドやメソッドには .(ドット)を使ってアクセスします。
java
1dog1.name = "ポチ"; // フィールドに値を設定2dog1.bark(); // メソッドを呼び出すdog1.name と dog2.name は別々の値を持ちます。同じクラスから作っても、それぞれが独立しています。
ポイント
new クラス名() でインスタンスを作ります。1つのクラスから何個でもインスタンスを作れ、それぞれが独立したデータを持ちます。
まとめ
- インスタンスはクラス(設計図)から作った実物
クラス名 変数名 = new クラス名();でインスタンスを作る.(ドット)でフィールドやメソッドにアクセスする- 同じクラスから作ったインスタンスはそれぞれ独立したデータを持つ
確認問題
クラスからインスタンスを作るときに使うキーワードはどれですか?