例えば先ほどのカウンターの例のように、ライブラリのテストを行うときに、君はカウンターをmaxlong回まわすのかというわけなんだよ
気の利いたカウンターだとセッタが公開されてたりするけど、カウントの途中でセッタ使って変更したらカプセル化の観点からするとアウトだよな

これはプリミティブなlong型だから、まだ挙動は予測できるけど、実際のライブラリはオブジェクトを引数にオブジェクトが呼び出され別オブジェクトがってなってるわけで、内部状態を把握するのは当たり前だよな

たぶんeffectiveJavaにもこうかいてあったでしょ
toStringをオーバーライドしろと
そしてJ2SEは内部状態を示すようにオーバーライドされていることが多い

問題なのはこれが言語標準じゃないってことだ、良識がないライブラリだとこれすらされてないわけでね
さらにいえば、セッタは以前として公開されていないわけで