😇

JavaScript クラスとメソッド、インスタンスの関係性

2024/04/06に公開

クラスは「設計図」

クラスはオブジェクトを作成するための設計図です。家を建てるときに設計図が必要なように、オブジェクトを生成する際にはクラスがその設計図となります。この設計図に従って、様々な属性(プロパティ)や機能(メソッド)を持つオブジェクトを作成できます。

メソッドは「設計図の中の機能」

メソッドはクラス内で定義された関数のことで、クラス(設計図)が持つ機能を実現します。例えば、家の設計図において、ドアを開ける機能、窓を閉じる機能などがメソッドに該当します。クラスを実際のオブジェクトにして初めて、これらのメソッドを使って、ドアを開けたり窓を閉じたりするアクションを実行できます。

インスタンスは「建てられた家」

クラスが設計図で、メソッドが設計図の中の機能(例えば、電気をつけるスイッチ)だとすると、インスタンスはその設計図を元に実際に建てられた家です。インスタンスはクラスから具体化されたオブジェクトで、クラスのプロパティ(属性)とメソッド(機能)を具体的な形で持ちます。

class Dog {
    constructor(name) {
        this.name = name; // 犬の名前
    }
//メソッド
    bark() {
        console.log(this.name + ' says woof');
    }
}

// インスタンス化
const myDog = new Dog('Rex');
const yourDog = new Dog('Buddy');

Discussion