Java のクラスとは?基本の書き方を学ぼう
新人
「先輩、Javaのクラスって何のことですか?名前は聞いたことあるけど、よくわからなくて…」
先輩
「Javaでプログラムを書くとき、クラスはとても大事な要素なんだ。簡単にいうと、モノの設計図みたいなものだよ。」
新人
「設計図ってことは、まだ実物じゃないってことですか?」
先輩
「その通り!クラスをもとにして、実際の動くプログラム(インスタンス)を作るんだよ。これからわかりやすく説明していくね。」
1. Javaのクラスとは?(やさしく基本の概念を解説)
Javaのクラスとは、オブジェクトを作るための設計図のようなものです。たとえば、「自動車」を作りたいとき、まずは「自動車はどんなパーツがあって、どう動くのか」という情報が必要ですよね。
この情報をまとめたものがクラスです。自動車の「色」「スピード」などの情報、そして「走る」「止まる」といった動きを、クラスの中に書いておきます。
クラスは、Javaのプログラムを書くときにとても基本的な単位で、「オブジェクト指向」の考え方でも中心になります。プログラムを「モノ(オブジェクト)」として扱うことで、整理されたわかりやすいコードを書くことができます。
実際にクラスを定義するには、次のような書き方をします。
public class Car {
String color;
int speed;
void run() {
System.out.println("車が走ります");
}
void stop() {
System.out.println("車が止まります");
}
}
このように、クラスの中には「変数(フィールド)」と「メソッド(動き)」をまとめて書くことができます。これがJavaのクラスの基本的な形です。
2. クラスを使うと何ができるのか(日常の例えと一緒に説明)
クラスを使うことで、同じ型の「オブジェクト」を何個でも作ることができます。たとえば「Car(車)」というクラスを作っておけば、「赤い車」や「青い車」など、色の違う複数の車を自由に作ることができます。
これはまるで「クッキーの型抜き」と同じです。クッキーの型(クラス)を作っておけば、その型からたくさんのクッキー(オブジェクト)を作ることができます。1つの型からたくさん作れるので、とても効率的です。
Javaでは、クラスを使ってこのように「モノをまとめる」「動きを定義する」「あとで使いまわす」といった便利なことができるようになります。
次のようにして、クラスから実際のオブジェクトを作り、使うことができます。
public class Main {
public static void main(String[] args) {
Car redCar = new Car();
redCar.color = "赤";
redCar.speed = 60;
redCar.run();
Car blueCar = new Car();
blueCar.color = "青";
blueCar.speed = 80;
blueCar.run();
}
}
車が走ります
車が走ります
このように、CarクラスからredCarやblueCarといったオブジェクトを作って、それぞれのデータ(色やスピード)を設定することができます。
プログラムを整理しやすくなり、同じ処理を何度も書かなくても済むので、クラスを使うことはとても大切です。初心者の方でも、この「クラスは型抜きのようなもの」というイメージを持つだけで、理解が進みます。
次回は、このクラスの基本構文や作り方をもっと詳しく見ていきましょう。
3. Javaでクラスを定義する基本の書き方(コード付きで解説)
ここからは、Javaで実際にクラスを作る方法をひとつずつ確認していきましょう。クラスを定義するには、まずpublic class クラス名という形でスタートします。
たとえば「Person(人)」というクラスを作りたい場合、次のようなコードになります。
public class Person {
// クラスの中に変数やメソッドを書いていきます
}
このように、Personという名前のクラスを作ることで、「人」というオブジェクトをJavaで扱えるようになります。
クラスの中には、情報を入れるための変数(これを「フィールド」といいます)や、動きを表すメソッドを追加することができます。今はまだ空のクラスですが、これから少しずつ中身を増やしていきます。
クラスの名前は、基本的に大文字から始めるルールがあります。たとえば、PersonやCarなどです。これはJavaのルールなので、しっかり覚えておきましょう。
また、クラスを作るファイルの名前もクラス名と同じにする必要があります。Personクラスを作った場合は、ファイル名はPerson.javaにしてください。
このような基本の形を覚えておけば、Pleiadesなどの開発環境でもスムーズにクラスを作れるようになります。
4. クラスに変数(フィールド)を入れてみよう
次に、クラスの中に「情報」を入れてみましょう。この情報は変数として書くのですが、特にクラスの中にある変数のことを「フィールド」と呼びます。
たとえば「Person(人)」クラスに、「名前」と「年齢」の情報を入れたい場合は、次のように書きます。
public class Person {
String name;
int age;
}
このコードでは、nameという文字列型(String)の変数と、ageという整数型(int)の変数を用意しています。この2つが、その人の「名前」と「年齢」にあたる情報です。
このように、Javaではクラスの中にフィールドを書くことで、そのモノが持つ情報を記録できるようになります。
たとえば、次のようにして、このPersonクラスからオブジェクト(実物)を作り、名前と年齢を設定することができます。
public class Main {
public static void main(String[] args) {
Person p1 = new Person();
p1.name = "たろう";
p1.age = 20;
System.out.println(p1.name + "さんの年齢は" + p1.age + "歳です。");
}
}
たろうさんの年齢は20歳です。
このように、クラスのフィールドに値を入れて使うことで、オブジェクトが「自分だけの情報」を持つようになります。
ここで注意しておきたいのが、p1はPersonクラスから作った「インスタンス(実体)」であるという点です。そして、p1.nameやp1.ageのようにして、そのインスタンスに対して情報を設定したり取り出したりできます。
初心者のうちは、「クラス=設計図」「インスタンス=実物」と考えておくと、混乱しにくくなります。
また、Javaではこのようにクラスとフィールドを使うことで、現実のモノをプログラムで表現できるようになります。
たとえば、「商品」「本」「ユーザー」「社員」など、いろいろなモノをクラスとして設計し、それぞれに必要な情報をフィールドとして追加できます。
PleiadesでJavaプロジェクトを作成するときは、Person.javaのようにクラスごとにファイルを分けて整理していくと、後から見直すときもとても分かりやすくなります。
このように、クラスの中にフィールドを入れることで、Javaのクラス設計がぐっと具体的になります。次回は、クラスに「動き(メソッド)」を追加して、さらにオブジェクトらしく使えるようにしていきましょう。
5. クラスの中にメソッドを追加してみよう
これまでに、「クラス」と「フィールド(情報)」の使い方を学びました。次は、クラスの中に「動き」を追加する方法を学びましょう。動きを表すのが「メソッド」です。
たとえば、「Person(人)」クラスに「自己紹介をする」という動きを加えたいとします。このような動きはメソッドとして書くことで、オブジェクトに行動をさせることができます。
public class Person {
String name;
int age;
void introduce() {
System.out.println("こんにちは。私は" + name + "です。年齢は" + age + "歳です。");
}
}
このように、void introduce()というメソッドを作って、その中に自己紹介の文章をSystem.out.println()で書いています。
ここでのvoidは「値を返さない」という意味です。つまり、このメソッドは何かを返すのではなく、ただ動作を実行するだけです。
このintroduceメソッドを作ることで、「自己紹介をする」という動きをPersonクラスに追加できます。
このように、クラスの中にメソッドを書くことで、そのクラスに対する「できること(動き)」を表現できます。オブジェクトが持つ情報だけでなく、その情報を使って「何をするか」も一緒に定義できるのがJavaのクラスの強みです。
6. 定義したクラスを使って実行してみよう(mainメソッドで試す)
それでは、これまでに作ったPersonクラスを使って、実際にJavaのプログラムを動かしてみましょう。
mainメソッドを持つクラスを作って、そこからPersonのオブジェクトを作成し、自己紹介を実行します。
public class Main {
public static void main(String[] args) {
Person p1 = new Person();
p1.name = "たろう";
p1.age = 20;
p1.introduce();
Person p2 = new Person();
p2.name = "はなこ";
p2.age = 22;
p2.introduce();
}
}
こんにちは。私はたろうです。年齢は20歳です。
こんにちは。私ははなこです。年齢は22歳です。
このように、introduce()メソッドを呼び出すことで、Personオブジェクトが自己紹介をしてくれます。
この一連の流れをしっかり理解することで、「クラスを定義する」「情報を入れる」「動きを追加する」「実際に使う」という基本的なJavaのクラスの使い方が身についていきます。
また、mainメソッドのあるクラスはMain.javaなどに保存し、Pleiades上で実行すれば、コンソールに出力結果が表示されるはずです。
このような実践を通じて、Javaのクラス設計や使い方がより深く理解できるようになります。
7. 振り返りと初心者へのメッセージ
ここまでで、Javaのクラスについて、基本から丁寧に学んできました。
- クラスとは「設計図」であること
- クラスの中に「情報(フィールド)」を入れられること
- クラスの中に「動き(メソッド)」を追加できること
- 作ったクラスをもとに、「インスタンス(実物)」を作って使うこと
これらの流れが、Javaのオブジェクト指向プログラミングの基本になります。
最初はむずかしく感じるかもしれませんが、実際に手を動かしてコードを書いてみると、少しずつ理解できるようになります。
特にPleiadesのような開発環境を使えば、Javaのコードをすぐに試すことができるので、エラーの確認や動作のチェックも簡単です。
Javaのクラスは、今後プログラムを作っていくうえで何度も登場します。しっかり基礎を身につけておくことで、後の学習もスムーズになります。
次は、コンストラクタという「オブジェクトを作るときに使う特別なメソッド」など、さらに一歩進んだ内容にもチャレンジしていきましょう。
焦らずに、一歩ずつ進んでいけば大丈夫です。プログラミングは「手を動かして、試して、学ぶ」が一番の近道です。ぜひ自分でもコードを書いて、楽しく学んでください。