【Java入門】インスタンスとは?クラスとの関係(インスタンス変数)

こんにちは!エンジニアの中沢です。

Javaでは、クラスで定義した処理を実行するために、そのクラスのインスタンスを生成する必要があります。生成したインスタンス(オブジェクト)から、そのクラスのメンバ変数を参照したり、メソッドを呼び出して使用します。

この記事では、

  • クラスとは
  • インスタンスとは
  • インスタンスを生成する方法
  • オブジェクト指向とは
  • インスタンス変数(メンバ変数)とメソッドの使い方

などの基本的な内容から、応用的な使い方に関しても解説していきます。

今回はこれらの方法を覚えるために、インスタンスのさまざまな使い方をわかりやすく解説します!

なお、Javaの記事については、こちらにまとめています。

目次

クラスとインスタンス

クラスとは

クラスとは、プログラムを実行するための処理をまとめたモノで、クラスの処理の中にはメンバ変数や、処理を実行するためのメソッドがあります。

ちなみに、メンバ変数とはクラス内で使用する変数のことで、メソッドとはメンバ変数などを使って行う処理をひとまとめにしたものです。

クラスは次のように記述します。

class クラス名 {
   実行処理...
}

クラスの詳しい使い方はこちらの記事で解説しているので、ぜひ確認してください。

インスタンスとは

Javaのようなオブジェクト指向のプログラミング言語では、処理をまとめたクラスの中の処理を実行するために、そのクラスのインスタンス(オブジェクト)を生成する必要があります。

そして、生成したクラスのインスタンスから、そのクラスのメンバ変数を参照したり、メソッドを呼び出して使用します。よく使われる例として、クラスが設計図で、インスタンスが設計図を元に作られた実体となります。

詳しくは使いながら理解すると良いでしょう。

オブジェクト指向とは

オブジェクト指向を一言でいうと、「効率よく開発するための考え方の1つ」のことです。

アプリ開発は大規模になってくると内部のプログラムが複雑になり、プログラムの追加をしたり、修正を行ったりすることが難しくなります。

そこで、効率よく開発するための考え方として作られたのがオブジェクト指向です。オブジェクト指向のプログラムは「独立していて、再利用しやすく、かつ拡張しやすいほど良い」という考え方をしています。

オブジェクト指向についてはこちらの記事で詳しく解説しているので、ぜひ確認してください。

インスタンスを生成する方法

クラスを使用するには、インスタンスを生成する必要があります。

インスタンスを生成する方法を次のプログラムで確認してみましょう。

class ClassSample {
    // メソッドの宣言・定義
    void methodSample() {
        // 処理内容
        System.out.println("samurai");
    }
}

public class Main {
    public static void main(String[] args) throws Exception {

        // インスタンス(オブジェクト)を生成
        ClassSample cl = new ClassSample();

        // メソッドの呼出し
        cl.methodSample();
    }
}

実行結果:

samurai

このプログラムでは、インスタンスを生成して、クラスで定義されたメソッドを呼び出して使用しています。

インスタンス変数(メンバ変数)とインスタンスメソッドの使い方

ここでは、インスタンス変数(メンバ変数)とインスタンスメソッドの使い方を解説します。

クラスからインスタンスを生成して、インスタンスメソッドとインスタンス変数を使う方法を次のプログラムで確認してみましょう。

class ClassSample {
    String str = "サムライ";

    // メソッドの宣言・定義
    void methodSample() {
        // 処理内容
        System.out.println("samurai");
    }
}

public class Main {
    public static void main(String[] args) {

        // インスタンス(オブジェクト)を生成
        ClassSample cl = new ClassSample();

        // インスタンスメソッドの呼出し
        cl.methodSample();

        // インスタンス変数(メンバ変数)の取得
        System.out.println(cl.str);
    }
}

実行結果:

samurai
サムライ

このようにして、クラスからインスタンスを生成して、インスタンスメソッドとインスタンス変数を使うことができました。

まとめ

いかがでしたか?

今回はインスタンスの使い方を解説しました。クラスからインスタンスを生成すれば、クラスで定義したメソッドや変数を使えるのでぜひ活用してくださいね。

もし、Existsメソッドの使い方を忘れてしまったらこの記事を確認してください!

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次