JAVA/Effective Java

아이템12. toString을 항상 재정의하라

hyun-1200 2022. 5. 22. 23:46

아이템12. toString을 항상 재정의하라

  • toString의 규약은 "모든 하위 클래스에서 이 메서드를 재정의하라"고 한다.
  • toString을 잘 구현한 클래스는 사용하기에 훨씬 즐겁고, 그 클래스를 사용한 시스템은 디버깅하기 쉽다.
  • 포맷을 명시하던 의도를 명확히 밝혀야 한다.
  • 또한 toString이 반환한 값에 포함된 정보를 얻어오로 수 있는 API를 제공하자.
  • 정적 유틸리티 클래스(인스턴스를 만들 수 없는 유틸리티 클래스-아이템4) 는 toString을 제공할 이유가 없다.
  • 대부분의 열거타입도 이미 자바가 완벽한 toString을 제공하므로 재정의하지 않아도 된다.

정리

모든 구체 클래스에서 Object의 toString을 재정의하자. 
상위클래스에서 이미 알맞게 재정의한 경우는 예외.
toString을 재정의한 클래스는 사용하기도 즐겁고 그 클래스를 사용한 시스템을 디버깅하기 쉽게 해준다.
toString은 해당 객체에 관한 명확하고 유용한 정보를 읽기 좋은 형태로 반환해야 한다.