To ensure that @properties to operate effectively the class must be a subclass of object. when the class is just not a subclass of object then the first time you are attempting accessibility the setter it truly will make a new attribute with the shorter name rather than accessing throughout https://residentialprojectsgwalpahari.blogspot.com/