Javaの基礎知識(入門編)

【Java入門】クラスとオブジェクトを使ってみよう

「クラスとオブジェクトって何?」と聞かれると、難しそうに聞こえるかもしれません。でも心配はいりません。
この記事では、なるべくシンプルな例を使って、クラスとオブジェクトの使い方を実際に動かしながら体験してみます。

クラスとオブジェクトってなに?

いよいよJavaの基本構造「クラスとオブジェクト」の登場です。難しく聞こえるかもしれませんが、 実はとても身近な考え方です。ここでは日常のたとえも交えて、まずはイメージをつかみましょう。

クラス=設計図、オブジェクト=実体

Javaでは、プログラムの部品を「クラス」として作ります。 そのクラスをもとに、実際に動くもの(データのかたまり)を作ったものが「オブジェクト」です。

ルーキー
えっ…?なんか急に難しくなってきたかも…
大丈夫。まずは「クラス=設計図」「オブジェクト=完成品」って思ってくれればOK! たとえば、ケーキのレシピ(=クラス)から実際にケーキを作る(=オブジェクト)って感じだよ。
ビープロ

つまり、設計図を使っていくつも実体(オブジェクト)を作れるというわけです。

たとえるなら「クッキー型」と「クッキー」

もう少し身近なたとえでいうと、「クラス」はクッキー型、「オブジェクト」は焼き上がったクッキーです。

  • クッキー型(クラス)は何度でも使える
  • 型が同じでも、チョコ入り・イチゴ味など中身は変えられる

ルーキー
なるほど!同じ「型」でも味やトッピングが違うってことか!
その通り!Javaでも、同じクラスから違うオブジェクトをたくさん作って、 中身だけ変えて使えるようになるんだ。
ビープロ

この考え方をつかむだけでも、Javaの世界がグッと身近になります。 次は、実際にクラスを定義して、自分だけの設計図を作ってみましょう!

実際にクラスを定義してみよう

クラスとオブジェクトの仕組みがわかったら、いよいよ自分でクラスを作ってみましょう。 ここでは「名前」と「年齢」をもつ簡単なクラスを定義して、それを使って動かす準備をします。

名前と年齢を持つPersonクラスを作ってみる

まずはクラスの設計図を作ってみましょう。「名前」と「年齢」をもつ人を表すクラスです。

public class Person {
 String name;
 int age;
}

ルーキー
えっ…たったこれだけ?クラスってもっと長いものかと…
シンプルなクラスなら、ほんとにこれだけでOK! あとは、これを使って「オブジェクト」を作れば、実際に動かせるよ。
ビープロ

この「name」「age」が、クラスの中の情報(フィールド)です。 次は、このPersonクラスにちょっとした動作を加えてみましょう。

フィールド(変数)とメソッドを用意しよう

「こんにちは!」と自己紹介するような処理を、Personクラスに追加してみます。

public class Person {
 String name;
 int age;

 void sayHello() {
  System.out.println("こんにちは!私は" + name + "、" + age + "歳です。");
 }
}

ルーキー
なるほど…このクラスがどんなふうに動くのか、ちょっとワクワクしてきました!
うん、あとはこのクラスを使って「オブジェクト」を作れば、実際にしゃべらせることもできるよ!
ビープロ

次のセクションでは、このクラスからオブジェクトを作って、実際に動かしてみましょう。

オブジェクトを作って使ってみよう

前のセクションで作成した「Personクラス」は、まだ設計図の段階でした。 ここでは、その設計図をもとに実際のオブジェクトを作り、動かしてみます。 Javaにおける「オブジェクト」の基本操作を体験してみましょう。

newでオブジェクトを作成してみよう

クラスからオブジェクトを作るには、new というキーワードを使います。 これは「このクラスの新しい実体を作ってください」という命令になります。

public class Main {
 public static void main(String[] args) {
  Person p = new Person();
  p.name = "ルーキー";
  p.age = 20;
 }
}

ルーキー
この1行「new Person();」で、もう実体が作れるんですね!
そう、それで p という名前の変数にPerson型のオブジェクトが入ったんだ。 これがまさに「クラスからオブジェクトを生成した」ってことだよ。
ビープロ

このようにして、クラスに基づいたオブジェクト(実体)を作ることができます。

フィールドやメソッドにアクセスしてみよう

作成したオブジェクトには、次のようにして情報を入れたり、メソッドを呼び出すことができます。

public class Main {
 public static void main(String[] args) {
  Person p = new Person();
  p.name = "ルーキー";
  p.age = 20;
  p.sayHello();
 }
}

出力結果:

ターミナル

こんにちは!私はルーキー、20歳です。

ルーキー
うわっ!しゃべった!…って感じですね(笑)
そうそう、作ったオブジェクトに対してメソッドを呼び出せば、実際に「動く」ようになるんだ。 これがクラスとオブジェクトの仕組みの面白いところ!
ビープロ

このように、Javaでは「クラスで設計 → newで生成 → フィールドやメソッドを使って動かす」流れが基本になります。

次は、同じクラスを使って複数のオブジェクトを作ることで、プログラムがどれだけ柔軟に動くのかを体験してみましょう。

複数のオブジェクトを作ってみよう

オブジェクトを1つ作って動かすだけでも面白いですが、Javaでは同じクラスからいくつでもオブジェクトを生成できます。 ここでは、複数のオブジェクトを作って、それぞれに違う情報を入れて動かしてみましょう。

同じクラスでも中身が違うオブジェクト

同じPersonクラスから、2人分のオブジェクトを作って、それぞれ異なる情報を入れてみます。

public class Main {
 public static void main(String[] args) {
  Person p1 = new Person();
  p1.name = "ルーキー";
  p1.age = 20;

  Person p2 = new Person();
  p2.name = "ビープロ";
  p2.age = 30;

  p1.sayHello();
  p2.sayHello();
 }
}

出力結果:

ターミナル

こんにちは!私はルーキー、20歳です。
こんにちは!私はビープロ、30歳です。

ルーキー
まさか同じクラスからこんなに簡単に何人も作れるとは…!
そう!クラスは「型」であって、中に入る情報はオブジェクトごとに変えられるんだよ。 これが「設計図と実体」の大きなメリットなんだ。
ビープロ

このように、クラスは共通の構造を持ちつつも、個別のデータを保持できるオブジェクトを何個でも作ることができます。

複数の人を一括で表示してみよう

今度は、オブジェクトを配列でまとめて、ループで順番に自己紹介させてみます。

public class Main {
 public static void main(String[] args) {
  Person[] people = new Person[3];

  people[0] = new Person();
  people[0].name = "ルーキー";
  people[0].age = 20;

  people[1] = new Person();
  people[1].name = "ビープロ";
  people[1].age = 30;

  people[2] = new Person();
  people[2].name = "ジャバオ";
  people[2].age = 25;

  for (int i = 0; i < people.length; i++) {
   people[i].sayHello();
  }
 }
}

出力結果:

ターミナル

こんにちは!私はルーキー、20歳です。
こんにちは!私はビープロ、30歳です。
こんにちは!私はジャバオ、25歳です。

ルーキー
これはもう、「人名簿」みたいですね…! すごく整理されてて見やすいです!
その感覚は大事だね。 配列とループを組み合わせると、たくさんのオブジェクトを効率よく操作できるようになるよ。
ビープロ

このようにJavaでは、オブジェクトをたくさん作っても、配列やループを使えばすっきりまとめて処理できます。

次は、まとめとしてクラスとオブジェクトの関係をもう一度整理してみましょう。

まとめ:クラスとオブジェクトはJavaの「核」

今回は、クラスの定義からオブジェクトの生成、メソッドの呼び出しまでを体験しました。 「クラス=設計図」「オブジェクト=実体」という考え方が、Javaの基本でありすべての土台になります。

ルーキー
確かに、これまでの内容がぜんぶ“クラスとオブジェクト”に集約されてる気がしてきました!
うん、それがまさにJavaの特徴。 この土台がしっかりしてるからこそ、大規模な開発にも耐えられるんだ。
ビープロ

ここまでの学習で「Javaって意外と触れる!」という感覚がつかめたなら、もう第一関門はクリアです。

📘 Javaの基礎知識シリーズでさらに理解を深めよう

もっと詳しく学びたい方は、Javaの仕組みや仕様について解説した「Javaの基礎知識シリーズ」もぜひチェックしてみてください。

▶ Javaの基礎知識シリーズ 一覧を見る

▶ 次は「クラスの活用例」へステップアップ!

次回は、オブジェクト同士が連携したり、クラスをさらに整理する方法を学んでいきます。 いよいよJavaらしい「拡張」や「再利用」が見えてきますよ!

▶ 続きはこちら:Java入門:はじめてのパッケージ構成と分割管理

ルーキー
よーし、ここまで来たらもっと書いてみたくなってきました!
その気持ちが一番大事!焦らず、でもしっかり、次に進もう!
ビープロ

よく読まれている記事

1

IT入門シリーズ 🟢 STEP 1: ITの基礎を知る(ITとは何か?) 📌 IT初心者が最初に学ぶべき基本知識。ITの概念、ネットワーク、OS、クラウドの仕組みを学ぶ ...

2

「私たちが日々利用しているスマートフォンやインターネット、そしてスーパーコンピュータやクラウドサービス――これらの多くがLinuxの力で動いていることをご存じですか?無料で使えるだけでなく、高い柔軟性 ...

3

この記事は、Linuxについて勉強している初心者の方向けに「Shellスクリプト」について解説します。最後まで読んで頂けましたら、Shellスクリプトはどのような役割を担っているのか?を理解出来るよう ...

-Javaの基礎知識(入門編)