お初にお目にかかります。
ここでは私自身が咀嚼した知識を吐き出してまいります。
青々しく酸っぱいのであまり参考にしないでください。
たで、同じように解釈や比喩について悩んでいる方の一助になれたら幸いです。
2021年1月22日
1、クラス
クラスとは、個々にデータを持たせるための雛形である。具体的な実体を持っておらず、クラスに共通する属性やメソッドを用いてインスタンス(後述)を作成する。
例えば、街を行き交う人に「紙の上に三角形を書いてください」と注文する。その際に各人が頭に思い描く「三角形」が、いわば設計図であるクラスと呼べるだろう。人々がどのような三角形をイメージしていても、一般的に共通する特徴はある。線が三本である、直線で描かれている、などだ。
また、紙上へ出力するための手段がある。鉛筆を使う人もいる一方で、絵筆で描いたりする人もいる。
この場合特徴は「属性」へ、手段は「メソッド」としてプログラミング上で扱われる。
2、インスタンス
インスタンスとは、クラスを用いて作成され、それぞれが個別のデータを持つものである。クラスによって作成されたインスタンスは、前述の例を用いて表すならば「人々が実際に書いた三角形」であると言えよう。
概念から生み出された三角形は、個々人によって様々である。鉛筆を用いて細い小さな一本の線で描いた者もいれば、太いマジックペンで豪快な線を描く者もいる。この場合の描かれた三角形は様々な特徴を持ち、姿は異なる。
こうして描かれた三角形は、概念上の「三角形」、すなわちクラスから生み出され、様々なメソッドや属性を用いることでインスタンスとして表出する。
2021年1月27日
1、クラス
クラスは、インスタンスを生成するために定義される。それ自体に実体はない。
例えるならば、たいやきというインスタンスを作り出すための「たい焼き器」であると言える。たい焼きの種類はどうあれ、「鯛」の形を成し、熱によって加工される工程は共通のルールとして定義される。
2、インスタンス
インスタンスはクラスから生成され、個々に異なる値を持つものである。
上記の例示を引用するならば、クラスから作り出された「たいやき」である。
素材によってスタンダードなたいやき、白いたいやき、また、中身もあんこやクリームといったように、様々な特徴を持ったインスタンスが作り出される。
この場合の素材は「属性」、見た目や味といった特徴は「値」と言い換えられる
ここまで読んでいただけた奇特な貴方に感謝申し上げます。
また、なにか解釈違いや見当違い等ございましたら、ぜひともご教授いただけますと幸いです。
鍵谷