クラスとインスタンスの違い、new演算子 について ( No.28 )
日時: 2021/09/25 07:31
名前: REDCHEEKS

白状すると、これまでは、説明が面倒だったので、インスタンスと言うべきところをクラスと言ってしまっている所があったんだな。

>>21 の最後の方
> 読み込んだデータをもとに、NakigotoOshikari クラスを大量に生成する。

これは本当はインスタンスなんだな
インスタンスを説明するのがめんどくさくて、しかも一度に説明するとかえって混乱を招くので、あえてそうしていたんだ。

では、クラスとインスタンスの違いとは何かについてこれから説明しよう。

******************************
クラス     とは 設計図、間取り図
インスタンス とは 実体、実際の建物
******************************

そして、プログラム中にある new とは、設計図から実体を作り出すという意味

実体1 = new 設計図()
実体2 = new 設計図()
実体3 = new 設計図()
  :

これを100万回繰り返せば、1つの設計図から100万個の実体が出来ると言うことなんだ。

実体といっても、実際はコンピュータ内に「メモリ領域」を確保するって事なんだな。

クラスは設計図、インスタンスは実体、そして設計図を元に、同じ間取りの部屋を多量に作る、マンション建設のような事が、コンピュータ内部で行われているんだ。
マトリックスの世界を垣間見たような気がするね。

オブジェクト指向以前の時代は、メモリ領域の確保は、手動(マニュアル)でやってたから面倒だったよ。

http://www2s.biglobe.ne.jp/~nod/nod2/patio/patio.cgi?mode=view2&f=484&no=192

今はオートマ車、new 一発で済むから、簡単楽ちん!