아이템 12 - toString을 항상 재정의하라
JAVA
·
- Object의 toString은 클래스이름@16진수로 표시한 해시 코드로 우리가 작성한 클래스에 적합한 문자열을 반환하는 경우는 거의 없다.
- toString의 일반 규약에 따르면 간결하면서 사람이 읽히 쉬운 형태의 유익한 정보를 반환해야 한다.
- 객체가 가진 모든 정보를 보여주는 것이 좋다. (이펙티브 자바 저자의 주장이고, 아닐 수도 있다.)
- 값 클래스라면 포맷을 문서에 명시하는 것이 좋으며 해당 포맷으로 객체를 생성할 수 있는 정적 팩터리나 생성자를 제공하는 것이 좋다.
- 자바 플랫폼의 많은 값 클래스가 따르는 방식
- 단, 포맷을 한번 명시하면 평생 그 포맷에 얽매일 수도 있다.
- toString이 반환한 값에 포함된 정보를 얻어올 수 있는 API(Getter)를 제공하는 것이 좋다.
- 경우에 따라 AutoValue, 롬복 또는 IDE를 사용하지 않는게 적절할 수 있다.
</br>
</br>
출처
이펙티브 자바 3/E
이펙티브 자바 완벽 공략 1