【1日45分×6日でわかる】オブジェクト指向 Day1: クラスとインスタンスの基礎

基礎文法を終えたら、いよいよ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クラスから複数のインスタンスを作って動かしました。オブジェクト指向の一番の土台がここです。明日は、インスタンスを作るときにデータをまとめてセットする「コンストラクタとフィールド」に進みます。

コメント

タイトルとURLをコピーしました