師曰くデバッグに役立つ情報を出力するためにtoString()を使用しなさい。どういうこと?ObjectのインターフェースであるtoString()は、オブジェクトの内容を文字列で表現する役割を担っています。オブジェクトを文字列で表現することには多くの理由がありえます。オブジェクトの内容をユーザーに見せたいのかもしれませんし、後で取り出せるように格納したいのかもしれませんし、あるいはオブジェクトの内部をプログラマに提示したいのかもしれません。これら複数の目的を一度に満たすことはできません。この中でも「プログラマのためのオブジェクト文字列表現」を作り出す用途でtoString()をオーバーライドします。他の目的で使用する文字列表現は、そのオブジェクトまたは別のクラス内で他のメソッドが返すようにします。どうして?高品質のデバッグ出力への投資にはレバレッジが存在します。デバッガでオブジェクトの内