フィールドやメソッドのアクセス修飾子を不用意に public にすると、他のクラスから好き勝手にアクセス出来るようになるため誤動作やバグの原因になりますし、デバッグ作業も困難になります。

従って

  1. フィールドやメソッドのアクセス権は原則として private にする
  2. public の使用は必要最低限に留める

ことで他のクラスから簡単にアクセス出来ないようにすることが推奨されています。

このようにアクセス修飾子をうまく使って、クラス内でしている事を隠蔽して外から見えなくすることを「カプセル化」といいます。

クラスをカプセル化するとクラス間の独立性が上がるのでデバッグ作業が楽になります。
さらに、あるクラスに行なった変更が他のクラスに及ぼす影響も小さくなるので、チーム開発もしやすくなります。