自己カプセル化はすべきかどうかの判断材料。遅延初期化したいフィールドある時。サブクラスが取り出しメソッドを変更したいとき。AWTのソースコードでさえ内部にスーパークラスのフィールドに直接アクセスしている。自己カプセル化は必須ではない。制御がほかに移るかもしれないから。java.util.dictionary値から参照への変更は、EJB化したほうが自然な流れでは?値オブジェクトを作るくらいならEJB化したい。不変なバリューオブジェクトとは、いったい何か。オブジェクトによる配列の入れ替え逆のリファクタリングはない。→同じ入力値ならnotifyを呼ばない、とかで対応可能。Observableを使う。Swingの方がコンボボックスとかにクラスが分かれているので、作りやすい。