Какую принципиальную ошибку конкретно в этой задаче я допустил, не обозначив словом transient поля fullName и greeting? Ведь с ним после десериализации эти поля будут null, а никаких методов занесения значения этих полей в классе нет, только конструктор, который не будет вызван при восстановлении объекта.