toStringメソッドをオーバライドするときはpublic宣言する

toStringメソッドをオーバライドするときはpublic宣言をしなければなりません。
以下の理由のためです。

  • toStringはjava.lang.Objectでpublic String toString()として定義されているメソッドである。
  • クラスを作成する場合、それはjava.lang.Objectのサブクラス
  • だから、クラスを作成して、String toString()を定義することはスーパークラスのString toString()をオーバライドするってこと
  • スーパークラスのメソッドをサブクラスでオーバライドする場合、アクセス制限を強めてはいけない。
  • よって、public宣言が必要。


ってことらしい。