Zitat:
Falsch. Ersteres ist ein binary breaking change der
API.
Für den "Aufrufer" ist es aber egal, was der Compiler daraus macht. Er muss seinen Code auch nicht ändern.
Aus dem Code des "Konsumenten":
Messias.Name := 'Jesus';
wird im 1. Fall
Messias.FName := 'Jesus';
und nachh der Umstellung der Implemenierung auf Getter dann
Messias.setName ('Jesus');
Das ist natürlich eine Veränderung des Binärcodes, aber kein Verhalten der "black box".