支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • Javaにおけるインスタンス生成方法

Javaにおけるインスタンス生成方法について学ぶ

はじめに

オブジェクト指向言語の一つであるJavaでは、インスタンスを生成し、mainメソッド内でオブジェクトを呼び出してプログラムを実行しています。この説明だけだと何もわからないと思います。
この記事でオブジェクト指向について簡単に説明をし、インスタンスの生成方法について解説していきたいと考えております。
Javaのプログラミングを学習していく上でインスタンスの生成方法は覚えておかなくては、オブジェクト指向について理解できていないと言っても過言ではありません。
この記事を読んで少しでもインスタンスの生成方法について理解していただきたいと思います。

オブジェクト指向とは?

オブジェクト指向について簡単に説明します。オブジェクト指向はプログラムの複雑化を緩和するために複数の「クラス」を組み合わせて作り上げています。
この「クラス」とは、簡単に言うと「データ処理をまとめたもの」になります。実行したいオブジェクトをmainクラスの中に入れて実行させます。このmainメソッドがないとエラーになってしまいます。
オブジェクト指向とは、プログラムを「もの」を組み立てる表現として考えるプログラミングのことを言います。
どのようにプログラムを記述するかを順を追ってこれから説明していきます。

インスタンスとは

インスタンスとは、オブジェクト指向で言うと部品みたいなものになります。上記の「オブジェクト指向とは?」で記載しましたが、クラスを宣言して、その中に関連するデータや処理を記述して、クラスの部品を作成します。そのクラスの部品を複数作成し、クラス同士を組み合わせてプログラムの処理を作り上げることができます。
このクラスの部品のことを「インスタンス」と言います。また、インスタンスのことを参考書によっては「オブジェクト」と記載している参考書もあります。 「インスタンス=オブジェクト」くらいの感覚で覚えておくと参考書やWebサイトで調べた際にわかりやすいと思います。

インスタンスの生成方法

インスタンスを生成するためにはまず初めにクラスを宣言する必要があります。
クラスを複数宣言して、それらを組み合わせてプログラムを実行させます。 以下、インスタンスの宣言方法です。

1.class Cat { //Catクラスの宣言
2.    int food = 10; //変数foodに10を代入
3.    int run; //変数runを宣言
4.}
5.
6.Cat cat = new Cat(); //Cat型の変数catを宣言し、new演算子を使ってCatクラスのインスタンスを生成
7.
上記のプログラムより、1行目~3行目でCatクラスを宣言します。この宣言したCatクラスを6行目でインスタンス化し、インスタンス(オブジェクト)を生成します。このインスタンス生成時にインスタンス化をするためのルールがあります。それは、new演算子を使用することです。

初めに、クラス型変数を宣言します。「クラス名 変数名」のように宣言します。
この変数に「new クラス名();」を代入して、インスタンスを生成します。
インスタンスを作成することで、実行したい変数やメソッドをその都度呼び出して使うことができます。
以下、オブジェクトを使って変数、メソッドを呼び出したプログラムです。
 1.class Cat {
 2.    public int food = 10;//変数foodに15を代入
 3.    public int animal; //変数animalを宣言
 4.    public void run(){ //メソッドrunを宣言
 5.        System.out.println("猫はかわいいです。");//メソッドの処理
 6.    }
 7.}
 8.class Main { //Mainクラスを宣言
 9.    public static void main(String[] args){ //mainメソッドを宣言
10.        Cat cat = new Cat();//インスタンス化でインスタンス生成
11.        cat.animal = 5;//変数
12.        cat.run();
13.        System.out.println(cat.food);//変数foodを出力
14.        System.out.println(cat.animal);//変数animalを出力
15.    }
16.}

実行結果:
猫はかわいい。
10
5

上記のプログラムでは、8行目にMainクラスを宣言し、9行目にJavaを実行させるのに必要なpublic static void main(String[] args)のmainメソッド宣言しております。このmainメソッド内でCarクラスをインスタンス化し、インスタンスcarから変数やメソッドにアクセスしています。アクセスする際は上記のプログラムの場合、「car.animal」のように「インスタンス名.変数名()」を用いてアクセスすることができます。
つまり、インスタンスと変数やメソッドを「.(ドット)」で結んでインスタンス化したクラスの変数やメソッドにアクセスして変数やメソッドの処理を使用することができます。
例えば11行目では、インスタンス「cat」により「animal」が呼び出され、「5」が代入されています。
12行目のcat.run()で4~6行目のメソッドが呼び出され、実行結果に「猫はかわいい」が出力されます。
また、13、14行目ではインスタンス「cat」に「food」と「animal」が呼び出され実行されています。

おわりに

インスタンス生成方法についてこちらの記事で説明していきました。インスタンスが生成できないとJavaの特徴であるオブジェクト指向のプログラミングを理解できたとは言えません。インスタンスを生成することにより複雑なプログラムを作成しやすくなるので、しっかり身に付けていただきたいと思います。最後までご覧いただきありがとうございました。