とても良い問題提起だと思います。 「直接変数を触る」というやり方、折角クラスをつくってもこれだと台無しですね。クラスは自らのメンバー変数に対して責任を持つものです。多少なりとも込み入ったクラスならば、メンバー変数の使用法に一定の法則、規則というものがあって、それを無視した操作というのは秩序を乱します。要するにそれがバグのもとです。だから、クラスは自身のメンバー変数への無秩序なアクセスを禁止するため、private にします。 ですから「直接変数を触る」のがまずいということには、どなたも異論が無いはず。 で、メンバー変数を直接にではなく、間接的に触るようにしたものがプロパティです。そうすればデバッグの時にブレークポイントを設定できるし、変な値が書き込まれないよう、チェックを施すこともできる。これで、メンバー変数のアクセスの仕方に一定のルールを設けることが可能となります。 これで一切の問題が無
![VB.NETでプロパティを使って変数にアクセスさせるのは何故ですか?パブリックで変数宣言するのと何が違うんでしょうか? - とても良い問... - Yahoo!知恵袋](https://cdn-ak-scissors.b.st-hatena.com/image/square/1d07bee2b75b182ba712690f3a3464c29972e28b/height=288;version=1;width=512/https%3A%2F%2Fs.yimg.jp%2Fimages%2Fks%2Fclap%2Fimage%2Fogp%2Fogp.png)