こんにちは!Yuinaです。
クラスとインスタンスについて、忘れてしまったのでメモがてら書いておきます。
よろしくです。
クラスについて
まず、クラスとは「美味しいスイーツを作るための魔法のレシピ本」だと思ってください。
例えば、あなたが「カップケーキ」を作りたいとします。そのカップケーキのレシピ本には、どんなことが書いてあるでしょうか?
- どんな味のカップケーキかな?(例:バニラ味、チョコ味、抹茶味)🍫
- どんなトッピングを乗せるかな?(例:生クリーム、フルーツ、カラフルなスプリンクル)🍓
- どんな形のカップケーキかな?(例:丸い、ハート型)🧁
そして、そのレシピ本には「カップケーキ」だからこそできることも書いてありますよね。
- 「食べる😋」という食べ方
- 「可愛く飾る🎀」というデコレーション方法
これらのカップケーキが共通して持っている「特徴」(味、トッピング、形など)のことを、属性(attribute)と呼びます。
つまり、クラスとは、この属性とメソッドをひとまとめにしたひな形であり、「設計図」です。
このレシピ本があるからこそ、たくさんの美味しいカップケーキを効率的に作ることができます。
Pythonコードだとこんな感じです。

実行結果:

インスタンスについて
インスタンスとは、まさにその「カップケーキ」のことです。
レシピ本は1冊でも、それを使って「チョコチップマフィン」を作ったり、「いちごのカップケーキ」を作ったりできますよね。
- チョコチップマフィン(インスタンス1)🍩
- いちごのカップケーキ(インスタンス2)🍰
このように、クラスというレシピ本(設計図)を使って、具体的な「実体」を作り出すことをインスタンスを生成すると言います。
それぞれのインスタンスは、同じレシピ本から作られていますが、それぞれ異なる「個性」を持つことができます。
例えば、あるカップケーキは「チョコレート味でチョコチップトッピング」、別のカップケーキは「いちご味で生クリームとイチゴトッピング」といったように、属性の値を個別に設定できるのが特徴です!
Pythonコードはこちらです。

実行結果:

まとめ
今回はクラスとインスタンスについてお菓子作りに例えて解説してみました。
クラスは、「スイーツを作るための魔法のレシピ本」で、
インスタンスとは、その魔法のレシピ本(クラス)を使って、「実際に作った一つ一つのスイーツ」で覚えようと思います。
ありがとうございました!