複数のデータを一まとめにしてメモリに記憶するための下記の「命令」を実行したときに「言語処理系」が行う動作を説明します。
Siten tokyo = new Siten("S01", "東京支店", 389000);
まず右辺から実行され、「オブジェクトの生成」(インスタンス化)と「初期化」が行われます。
(a’)Siten型に必要なメモリ領域を確保する。
(b’)上記(a’)で確保した領域に、"S01", "東京支店", 389000というデータを記憶する。
つづいて左辺では以下の処理が行われます。
(d) 「変数tokyo」のために確保したメモリ領域に、上記(a')のメモリ領域のアドレスを格納します。
上記の(a')~(d)の処理は「言語処理系」が実行します。
プログラマーは「変数tokyo」に格納されている具体的なアドレスを知ることはありません。
(a')の領域に記憶されている「オブジェクト」にアクセスする場合は、「変数tokyo」を経由してアクセスします。
この「変数tokyo」を「参照」と言います。
(厳密にはポインタと参照を区別する言語もありますが、ここでは説明を省略します。)
先の「変数age」のint型は「プリミティブ型」、「変数tokyo」のSiten型は「参照型」に分類されます。
引用
SHIMS
@shims_ag
先の(a)(b)(c)は「int型」のケースでした。int型は、1つのデータだけをメモリに記憶する「命令」です。
プログラミング言語には、複数のデータを1まとめにしてメモリに記憶する「命令」が用意されています。この「命令」では、「配列」、「構造体」、「クラス」などを使います。… twitter.com/shims_ag/statu…
さらに表示