★★Java質問・相談スレッド149★★
■ このスレッドは過去ログ倉庫に格納されています
0845デフォルトの名無しさん
2011/12/23(金) 18:11:59.15finalでないデータメンバーは基本private。
コードを直すときprivateメンバーは、クラスのメソッド以外からは、
参照できないので、クラスのメソッドだけ確認すればよく手直ししやすい
ってのは初心者向けによく言われる話。
オブジェクト指向の観点で言えば、オーバーライドが関係する。
データメンバーは、オーバーライド不可能なんで、スーパークラスの
データメンバーに直接アクセスされると、サブクラスはそのアクセスを
検知する手段が無くなる。だから、ただデータを設定するだけでも、
データはprivateにしてメソッド経由でアクセスさせるようになっている。
protectedは、Java以外の言語であれば、サブクラスがスーパークラスを独占して
操作するための手段。サブクラスから見れば、他のクラスが自分の
スーパークラスに、protected操作をしないことを保証できる。
残念ながらJavaだとpackageレベルではpublic同様なのでその効果は薄いが。
■ このスレッドは過去ログ倉庫に格納されています