Item 12
Item 12
toString을 항상 재정의하라
- 기본적으로 제공되는
toString
메서드는 우리가 작성한 클래스에 적합한 문자열을 반환하지 않음클래스 이름@16진수 해시 코드
를 반환함
- 이는 우리가 원하는 정보가 아니므로,
toString
메서드의 일반 규약에 따르는 유익한 정보를 반환해야 함 toString
을 잘 구현해 두면, 사용 및 디버깅이 굉장히 용이함
구현할 때 참고할만한 점
- 객체가 가진 주요 정보 모두를 반환할 것
- 의도를 명확하게 밝혀야 함
- 반환값을 정확하게 어떻게 줄지 포맷을 명시해도 되고 안해도 됨
- 포맷을 명시하는 경우, 개발자들이 반환값을 명확하게 알 수 있게 되나, 포맷에 얽매이게 됨
- 명시하지 않는 경우, 추후 수정에 대한 유연성을 가지게 됨
- 하위 클래스들이 공유해야 할 문자열 표현이 있는 경우,
toString
을 재정의 해줘야 함
References
- 조슈아 블로크 - Effective Java 3/E