お世話になります。
ふと、疑問がわいたので。。。
超超超基礎的なことだとは思いますが、モヤモヤして気持ち悪いので質問させていただきます。
<質問>
「public」なクラスあるいはメソッド内で「private」な変数を定義する意味は?
<補足>
フィールドをprivateにしておかないと、クラスの外で何があるかわからないから というようなことを書いてあるサイトもあったりしますが、
「何か」とは具体的にどういったことを指すのでしょうか?
getter/setterに関しても、ただデータ保持のために存在しているのであればフィールドもPublicで良いように思います。
フィールド操作を行う関数がpublicなのであれば、結局フィールドがpublicなのと同じに感じてしまうのですが、どう違うのでしょうか。
# 「クラスの外から利用される変数に関してはprivateで定義し、getter/setterを介して使用する」
という意識はボンヤリとはあるのですが、ハテ、なんでわざわざそんなことしてるんだっけ?と訳わからなくなってしまいました。
お恥ずかしい質問で恐縮ですがよろしくお願いいたします。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2014/10/14 08:06
2014/10/14 08:27
2014/10/14 08:28
2014/10/14 08:32
2014/10/14 08:41