オブジェクト指向
プロパティーへのアクセスを制限する
信頼できないインスタンスへはオブジェクトのコピーを渡す
protectedのオブジェクトを返す場合はリファレンスを返さない
パラメータとして渡されたオブジェクトを変更する場合、防御的にコピーを行い操作する
機密性が必要なクラスのコピーを許可しない