While It isn't clear how to enhance a direct member entry like foo.num = num, You can certainly augment your traditional setter with an extra pressure parameter: Below is an additional case in point on how @property might help when one has to refactor code that is taken from here https://emperiumgurugram.in/