カテゴリ: JavaSilver試験対策 更新日: 2026/01/26

Javaのクラスとインスタンスを徹底解説!初心者にもわかるオブジェクト指向

030
Javaのクラスとインスタンス

先生と生徒の会話形式で理解しよう

生徒

「Javaでクラスとインスタンスの違いがよくわからないんですが、どういう関係なんですか?」

先生

「クラスは設計図、インスタンスはその設計図を元に作られた実体のようなものですよ。具体例を見てみましょう。」

1. クラスとインスタンスの基礎

1. クラスとインスタンスの基礎
1. クラスとインスタンスの基礎

Javaでは、クラスはプログラムの設計図として機能します。一方、インスタンスはその設計図から実際に作られる具体的なデータを持つオブジェクトです。

例えば、次のコードを見てください。


public class Product {
    private int price = 100;

    public void setPrice(int price) {
        this.price = price;
    }

    public int getPrice() {
        return this.price;
    }
}

このコードは、商品の価格を管理するための設計図(クラス)を定義しています。このクラスを元に、複数の商品のデータを作成することができます。

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

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

クラスからインスタンスを作るには、newキーワードを使います。以下の例を見てください。


public class Main {
    public static void main(String[] args) {
        Product item1 = new Product();
        Product item2 = new Product();
        item2.setPrice(200);
        System.out.println(item1.getPrice());
    }
}

このコードでは、Productクラスから2つのインスタンスを生成しています。それぞれのインスタンスは独立しており、別々のデータを保持できます。

3. 実行結果の解説

3. 実行結果の解説
3. 実行結果の解説

上記のプログラムを実行すると、以下のような結果が得られます。


100

理由を解説します。item1はデフォルト値の100のままです。一方で、item2は値を200に変更しましたが、item1には影響がありません。

Javaをこれから始める人や、 オブジェクト指向の考え方を基礎から理解したい人には、 定番の入門書がこちらです。

スッキリわかるJava入門 第4版をAmazonで見る

※ Amazon広告リンク

4. クラスとインスタンスの関係を図解で理解

4. クラスとインスタンスの関係を図解で理解
4. クラスとインスタンスの関係を図解で理解

クラスとインスタンスの関係は以下のように理解できます。

  • クラス:設計図
  • インスタンス:設計図から作られた具体的なオブジェクト

以下はそのイメージです:

  • クラスを基にインスタンスを作成
  • インスタンス間でデータが独立

5. 初心者が理解すべきポイント

5. 初心者が理解すべきポイント
5. 初心者が理解すべきポイント

クラスとインスタンスの違いを理解するには、以下のポイントを押さえましょう。

  • クラスは設計図であり、実際には動作しない
  • インスタンスはメモリ上に生成される動作可能なオブジェクト
  • インスタンスごとにデータが異なるため、柔軟なプログラムが可能

これらを意識すると、オブジェクト指向のプログラミングに慣れることができます。

6. まとめ

6. まとめ
6. まとめ

Javaのクラスとインスタンスは、オブジェクト指向プログラミングの基礎を理解する上で非常に重要な概念です。この記事では、クラスを設計図、インスタンスをその設計図から作られる実体と捉えることで、初心者にも分かりやすく説明しました。複数のインスタンスを生成して、それぞれが独立してデータを持つ仕組みが、柔軟なプログラムを実現する鍵です。

例えば、商品を管理するプログラムでは、Productクラスを使って、価格や名前などの商品ごとのデータを簡単に管理できます。以下のサンプルコードでは、複数のインスタンスが独立したデータを保持する様子を改めて確認しましょう。


public class Product {
    private String name;
    private int price;

    public Product(String name, int price) {
        this.name = name;
        this.price = price;
    }

    public String getName() {
        return this.name;
    }

    public int getPrice() {
        return this.price;
    }
}

public class Main {
    public static void main(String[] args) {
        Product item1 = new Product("Laptop", 1000);
        Product item2 = new Product("Tablet", 500);
        
        System.out.println(item1.getName() + " costs $" + item1.getPrice());
        System.out.println(item2.getName() + " costs $" + item2.getPrice());
    }
}

実行結果では、それぞれの商品が独立した情報を持つことが確認できます。これはクラスとインスタンスの仕組みによるものです。


Laptop costs $1000
Tablet costs $500

このように、クラスとインスタンスの関係を正しく理解することで、現実世界の事象をプログラムで表現する力が身に付きます。

先生と生徒の振り返り会話

生徒

「クラスとインスタンスの違いがよく分かりました!それぞれが独立しているから、データ管理がしやすいんですね。」

先生

「その通りです。オブジェクト指向の強みは、現実世界の物をプログラムで簡単にモデル化できるところです。」

生徒

「これから、インスタンスを使った応用的なプログラムにも挑戦してみます!」

先生

「いいですね。インスタンスを使いこなせば、複雑なプログラムもスムーズに作れるようになりますよ。」

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Javaのクラスとは何ですか?クラスの役割を初心者向けに教えてください。

Javaのクラスは、プログラムにおける設計図のようなもので、オブジェクトを作るためのテンプレートです。クラスには変数やメソッドなどの情報が定義され、これを基にインスタンス(実体)を生成します。

Javaのインスタンスとは何ですか?クラスとの違いは何ですか?

Javaのインスタンスとは、クラスを基に作られた実体のことで、実際にメモリ上に存在するオブジェクトです。クラスは設計図、インスタンスはその設計図から作られた具体的なオブジェクトという関係です。
JavaSilver試験対策の一覧へ
新着記事
FlutterのMVP・MVVMアーキテクチャの違いと使い分け
FlutterのMVP・MVVMアーキテクチャの違いと使い分けを初心者向けに解説!
オニオンアーキテクチャの基本とFlutterでの適用例
オニオンアーキテクチャの基本とFlutterでの適用例を初心者向けに解説
クリーンアーキテクチャとは?Flutterでの導入メリット
クリーンアーキテクチャとは?Flutterでの導入メリットをやさしく解説
【AWS】RDS for Oracleの特徴・できないこと・バージョン・料金まとめ
【AWS】RDS for Oracleの特徴・できないこと・バージョン・料金を初心者向けに徹底解説
人気記事
インスタンスタイプの料金比較と最適な選び方(最新2025年版)
AWSのインスタンスタイプの料金比較と最適な選び方【2025年最新版】
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク