Außerdem hältst du dir damit immer etwas "Bauraum" offen.
Nehmen wir mal an, du hast eine Klasse, vielleicht als Teil einer Bibliothek, geschrieben, die jetzt in einem Programm bereits ein paar hundert mal verwendet wird, oder noch besser: In mehreren Programmen ein paar hundert mal verwendet wird.
Und irgendwann fällt auf einmal jemandem auf, daß die Instanzvariable auf keinen Fall zu null gesetzt werden darf. Wenn du die Settermethode bereits vorgesehen hast, dann kannst du da jetzt eine Plausibilitätsprüfung und Korrektur einbauen, und niemand kriegt es mit. Wenn die Instanzvariable public war und keine Settermethode existierte, hast du jetzt so richtig Spaß.
Es gibt hin und wieder Leute, die gehen das Risiko ein, setzen Instanzvariablen public und verzichten auf Setter- und Gettermethoden. Zumindest meiner Meinung nach gibt es dazu aber absolut keinen Grund, denn da vernünftige IDEs sowas heutzutage auch automatisch machen fällt selbst der Grund Faulheit aus. OK, es gibt auch Leute die auf IDEs verzichten und stattdessen einen einfachen Texteditor bevorzugen...