If you install methods for each new attribute, you install them in symbol table, which is shared among all objects.
So whenever you install an accessor method for an object, all other objects get that too - although it doesn't make sense for them to have one.
It also means that if you have a long running process, you might gather many methods which once were useful, but don't make sense anymore.
Also consider the case where somebody might want to subclass your class, and can't know at the time of writing which methods your class will have - that's kinda painful. | [reply] |