横からだが

>>793
> set、getはフィールドに必ずつけるけど、

なんで必ず付けるのか?
必要なものだけに付ければ良いし、多くの場合はクラス内部の
データを加工したものが必要なだけ

データを投げ込む時も内部でどう保持しているかまで知る必要は無い