あるプログラマの日記

プログラマのメモ、出来事、考えたこと、勉強とかの雑記

シングルトンオブジェクト(続き)

上のソースのコンパイル後に生成される class ファイルは Foo.class 以外に Foo$.class が生成されていた。
Foo$.class には final class Foo$ extends scala.AnyRef with scala.ScalaObject という final class が自動生成されていた。
コップ本(初版ですが)に「自動生成クラスの名前は、オブジェクト名にドル記号を加えたものである。」と書かれていた。
「..シングルトンオブジェクトは自動生成クラス(synthetic class)のインスタンスとして実装されている」のですね。