基礎文法を終えたら、いよいよJavaの中心である「オブジェクト指向」に入ります。最初の関門が「クラス」と「インスタンス」です。今日は45分で、この2つの関係を理解し、実際に自分でクラスを作ってインスタンスを動かします。時間配分の目安は、説明10分、実践27分、振り返り8分です。
クラスとインスタンスとは(目安10分・インプット)
クラスとは「設計図」、インスタンスとは「設計図から作った実体」です。たとえば「犬」という設計図(クラス)には、名前という情報や、吠えるという動作を書いておきます。その設計図から「ポチ」「ハチ」といった具体的な犬(インスタンス)を何匹でも作れます。
クラスが持つデータを「フィールド」、動作を「メソッド」と呼びます。インスタンスは `new` を使って作ります。
public class Dog {
String name; // フィールド(データ)
void bark() { // メソッド(動作)
System.out.println(name + "「ワン!」");
}
}
【実践】犬クラスを作って動かす(目安27分・手を動かす)
上の `Dog.java` と、それを使う `Main.java` を作りましょう。
public class Main {
public static void main(String[] args) {
Dog dog1 = new Dog(); // インスタンスを作る
dog1.name = "ポチ";
dog1.bark();
Dog dog2 = new Dog();
dog2.name = "ハチ";
dog2.bark();
}
}
同じフォルダに2つのファイルを置き、`javac Main.java` でまとめてコンパイルし、`java Main` で実行します。「ポチ「ワン!」」「ハチ「ワン!」」と表示されれば成功です。1つの設計図から複数の実体を作れることが実感できたはずです。演習として、Dogクラスに `int age;` フィールドを追加し、bark メソッドで年齢も一緒に表示してみましょう。
よくある疑問・つまずきポイント
**クラスとインスタンスの違いが曖昧です。**
クラスは「たい焼きの型」、インスタンスは「型から焼いたたい焼き」とイメージすると分かりやすいです。型は1つでも、たい焼きは何個でも作れます。
**newを付け忘れるとエラーになります。**
インスタンスは必ず `new クラス名()` で作ります。newがないと実体が用意されません。
まとめ(目安8分)
今日はクラス(設計図)とインスタンス(実体)の関係を学び、Dogクラスから複数のインスタンスを作って動かしました。オブジェクト指向の一番の土台がここです。明日は、インスタンスを作るときにデータをまとめてセットする「コンストラクタとフィールド」に進みます。

コメント