Java・Windows・LinuxのAPIを使う場合でも、
オブジェクトの中のフィールドを設定することはまずない

もし、obj.a = 1; obj.b = 2; のように、直接フィールドに設定すれば、
フィールドの詳細を理解しなくてはならないから、すごく大変

設定する順序は、先にaに設定してから、bに設定するとか、
そういうことを考えるだけでも、開発はできなくなる

例えば、ファイルを読むのでも、obj.read() とか、
オブジェクトの詳細を知らずに、簡単に使えなければならない