Item 10. toString은 항상 재정의하라

기본적으로 java.lang.Object에서 재공하는 toString메서드는 사용자가 보려는 문자열의 형태가 아니다.

ex) 클래스명+@ + 16진수 해시코드 = "PhoneNumber@163b91"

toString의 일반 규약

1.toString이 반환하는 문자열은 "사람이 읽기 쉽도록 간략하지만 유용한 정보를 제공해야한다.

2.모든 하위 클래스는 이 메서드를 재정의함이 바람직하다. toString 메서드는 객체 내의 중요 정보를 전부 담아 반환해야 한다.

toString 재정의시 고려해야 할 것

1.반환하는 문자열의 형식을 명시하던 안하던, 어떤 의도인지는 문서에 분명하게 남겨야 한다.

  • 형식을 명시할 경우, 문자열->객체로 만드는 생성자나 정적풱터리메서드를 만들어두면,객체->문자열 자유로이 변환할 수 있어 편리 (ex. Wrapper).
  • but, 널리 쓰일 경우 그 형식을 바꾸지 못하는 단점.

2.반환하는 문자열에 포함된 정보들은 모두 프로그래밍을 통해서 가져올 수 있도록 한다. (getter)

results matching ""

    No results matching ""