본문 바로가기
공부/이펙티브자바

12. toString을 항상 재정의하라

by JERO__ 2022. 3. 18.

toString의 규약

  • 모든 하위 클래스에서 이 메서드를 재정의하라

장점

  • 사용하기 편하고 디버깅하기 쉽다.
  • 재정의하지 않는다면 쓸모없는 메시지만 로그에 남는다.
  • 만약 PhoneNumber용 toString을 제대로 정의했다면 에러메시지 출력시 다음과 같은 말로 충분하다.
System.out.println(phoneNumber + "에 연결할 수 없습니다.");

담을 정보

  • 그 객체가 가진 주요 정보 모두(권장)

정리

  • 모든 구현 클래스에서 Object의 toString을 재정의하자.
  • 상위 클래스에서 이미 알맞게 재정의한 경우는 예외이다.
  • 해당 객체에 관한 명확하고 유용한 정보를 읽기 좋은 형태로 반환해야 한다.

댓글