мы получается создаем поле #name в классе User, которое потом используется, но я так и не могу понять, name и #name имеют одни и те же значения в классе или нет?
а зачем нам вообще так делать? я только что попробовал, да, оно в принципе работает, ибо name действительно создает то, что мне надо, но оно также создает _name, значение которого идентично name