#はじめに
クラス・インスタンス・オブジェクトの概念について復習しました。
#オブジェクトとは?
オブジェクトとは、関連する変数(値)とメソッド(動作)をまとめたものに名前を付けたものになります。
JavaScriptであれば、
const person = {
name: 'Yuki',
gender: '男性'
};
という形でオブジェクトの中にkeyとvalueをセットします。
ここで述べているkeyはnameとgenderを指し、valueはYukiと男性を指します。
#クラスとは?
クラスとは、オブジェクトの設計図になります。
クラスの中で変数やメソッドを定義し、関連する変数やメソッドはこの時点で決まります。
日本語を例にクラスを作ると、
スライムクラス
*スライムの状態
・color(スライムの色)
・level(スライムのレベル)
*スライムの機能
・attack(攻撃)
・defend(防御)
という感じで、スライムのクラス(設計図)の中に変数とメソッドを定義しています。
これがクラスと呼ばれるものです。
#インスタンスとは?
インスタンスとは、オブジェクトの実物であり、クラス(設計図)から生成されるものになります。
先ほど作ったスライムクラスからインスタンスを生成すると、
*スライムクラスのインスタンス(その1)
色:青、レベル:1、攻撃:1、防御:1
*スライムクラスのインスタンス(その2)
色:黄色、レベル:2、攻撃:2、防御:2
という感じです。
これが、1つ1つのスライムがクラスから作られたインスタンスに当たります。
#最後に
クラスやインスタンスのような概念はどこで役に立つかが分からない知識を他人に分かりやすく説明することが難しいと気付かされました。
明日も頑張ります。