Javaのクラスとは?データをひとまとまりにする考え方

最終更新日

Schoo Java入門 初級【2026年版】

本記事は、Schooの「Java入門 初級【2026年版】」第5回「クラスとオブジェクト」を学ぶ前後に、Javaのクラスが何のためにあるのかを整理したい方向けのステップアップ学習記事です。

ただし、Schooを受講していない方でも、変数・配列・if文・繰り返しを学び始めた段階で読み進められる内容にしています。

Schoo コースページ:Java入門 初級【2026年版】

クラスは、関連するデータをひとまとまりにするための書き方です。たとえば「名前」と「点数」は別々の値ですが、どちらも1人の学生に関する情報です。このような値をまとめて扱えるようにするのがクラスの基本的な役割です。

クラスなしでは値がばらばらに増える

まずはクラスを使わずに、2人分の名前と点数を変数で持つ例を見てみます。

ファイル名: ScoreNoClassExample.java

public class ScoreNoClassExample {
    public static void main(String[] args) {
        String name1 = "山田";
        int score1 = 80;

        String name2 = "佐藤";
        int score2 = 90;

        System.out.println(name1 + "さん:" + score1 + "点");
        System.out.println(name2 + "さん:" + score2 + "点");
    }
}

この書き方でも表示はできます。ただし、人数が増えるほど name3score3name4score4 のように変数が増えます。名前と点数の対応も、自分で気をつけて管理しなければなりません。

クラスを使うと1人分のデータをまとめられる

次の例では、Student クラスを作り、名前と点数を1つのまとまりとして扱います。

ファイル名: ClassExample.java

public class ClassExample {
    public static void main(String[] args) {
        Student s1 = new Student("山田", 80);
        Student s2 = new Student("佐藤", 90);

        System.out.println(s1.name + "さん:" + s1.score + "点");
        System.out.println(s2.name + "さん:" + s2.score + "点");
    }
}

class Student {
    String name;
    int score;

    Student(String name, int score) {
        this.name = name;
        this.score = score;
    }
}

Student クラスには、namescore というフィールドがあります。new Student("山田", 80) と書くと、山田さんの名前と点数を持つ1人分のデータが作られます。

データのまとまり方を比べる

名前や点数を変更しながら、クラスを使う前後でデータの見え方がどう変わるかを確認してみましょう。

クラスなし:値が別々の変数に分かれる

表示したい組み合わせは同じでも、名前と点数は別々の変数として並びます。

name1 = “山田
score1 = 80
name2 = “佐藤
score2 = 90

    

クラスあり:1人分のデータとしてまとまる

同じ値でも、Studentオブジェクトの中に name と score が入ると「1人分」として見えます。

s1 : Student

name = “山田
score = 80

s2 : Student

name = “佐藤
score = 90

    

クラスを使うと、name と score を Student というまとまりで扱えます。

クラスとオブジェクトの関係

クラスは、どのようなデータを持つかを決める型のようなものです。一方、new で作られた s1s2 は、実際に値を持ったオブジェクトです。

Student というクラスは1つでも、s1s2 は別々のオブジェクトです。そのため、s1.score を変更しても、s2.score が勝手に変わるわけではありません。

最初は「まとめたいデータ」を考える

クラスを考えるときは、いきなり難しい設計を考える必要はありません。まずは「一緒に扱いたい値は何か」を見つけることが大切です。

  • 学生なら、名前、点数、年齢
  • 商品なら、商品名、価格、在庫数
  • キャラクターなら、名前、HP、攻撃力

このように、同じ対象に関する値をまとめるときにクラスを使います。

確認問題

  1. 商品名と価格をまとめる Product クラスには、どのようなフィールドを用意するとよいですか。
  2. Student s1 = new Student("山田", 80); では、どの値がどのフィールドに入りますか。
  3. クラスを使うと、複数人分の名前と点数を管理しやすくなる理由を説明してください。

演習後の確認:こちらのページを使って、自分で考えた内容を見直せます。

あわせて読みたい関連記事

まとめ

クラスは、関連するデータをひとまとまりにするための仕組みです。名前と点数のように一緒に扱いたい値をクラスにまとめると、複数人分のデータも見通しよく扱えます。

シェアする