Я читаю Программирование в Scala, и я не понимаю следующее предложение (pdf стр .112):
Каждый объект singleton реализуется как экземпляр синтетического класса, на который ссылается статическая переменная, поэтому они имеют ту же семантику инициализации, что и статическая статистика Java.
Означает ли это, что если у меня есть singleton FooBar в Scala, компилятор создаст класс с именем FooBar $?
Также, что означает автор, ссылаясь на статическую переменную? Есть ли скрытая статическая переменная где-то содержащая ссылку на некоторый класс FooBar $?
Я ценю любую помощь здесь.