cheeeeeeeseさんは、これまでC言語を幾らかでも学習される機会はありましたでしょうか?
cheeeeeeeseさんのこれまでのご質問の数々を振り返ってみると、Rubyについての説明に登場する種々の基本的な用語(オブジェクや参照など)の意味(概念)を正確に理解することを目指したものが多いのですが、とりわけ参照という概念について繰り返しご質問されている印象を受けます。
これはあくまでも推測なのですが、なかなかピンとこない要因の一つは、ひょっとしたらオブジェクトというものがコンピューター(のメモリー)上にどのように表現されているかを具体的にイメージできないからではないでしょうか?
プログラミングの世界では、システム(プログラミング言語を含む)の詳細かつ厳密な挙動(仕様)を知りたい場合には、その実装(ソースプログラム)を確認するのが常套手段です。この確認作業は時として非常に骨の折れる作業となりますが、膨大なソースプログラムを独力で一から紐解かなくとも、たとえばこちら(Rubyオブジェクトの構造)のような解説を読むと、C言語の僅かな知識だけでかなり具体的なイメージをつかむことが可能となります。
ですので、スッキリするには 急がば回れ ということで、まずはC言語の基礎をサラッと学習してみるのも有効な方法かと思います。
もちろんC言語にはオブジェクトという概念は登場しないですが、類似の複雑なデータ構造として構造体があり、構造体を保持する配列というのもあります。こうした複雑なデータ構造がメモリー上でどのように実現されているかを理解すると、先にリンクを貼り付けたRubyオブジェクトの構造についての説明も理解できるようになり、ご質問の参照の意味も明確にご理解頂けると思います。
長くなるので詳細は割愛しますが、C言語のような静的型付け言語(変数の型、つまり中に何を格納するかを実行前に確定してしまう言語)の場合の配列について、ポイントだけご説明しますと…
配列とは、元々同じ型のデータの集まり(参照)なので、整数型の配列であれば、配列の各要素は整数を格納するのに丁度良い大きさで、整数の値そのものを格納します。文字型であれば、各要素は一文字を格納するのに丁度良い大きさで、文字を表す文字コードそのものを格納します。
ポインタ型の配列というのもあり、その中には他のデータ構造(変数でも配列でも構造体でも良い)の場所(ポインタ)を格納します。そうすることにより極めて複雑かつ柔軟なデータ構造を表現可能となります。
Rubyの配列は、C言語でいうとポインタ型配列に(ある意味)似ているので、オブジェクトというより抽象的な概念を一旦置いておき、複雑なデータ構造をコンピューター上で表現するための根本的な方法に立ち返って考えると理解が深まるということです。
なかなかお忙しいとは思いますが、理解を深めるには良いアプローチ法だと思っています。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。