[Effective Java] 10. toString은 항상 재정의하라.

최대 1 분 소요

1. 일반규약

보통 Object.toString()을 호출하면 아래와 같이 나온다.

PhoneNumber p = new PhoneNumber();
p.toString();

// 결과는.. "PhoneNumber@163b91" (클래스명 @ hashCode)

하지만 일반규약에 toString()은 아래와 같이 해야 한다고 되어있다.

  1. 사람이 읽기 쉽도록 간략하지만 유용한 정보를 제공해야 한다.
  2. 모든 하위 클래스는 이 메서드를 재정의함이 바람직하다.

2. Override 했을때의 장점

당연히 로그를 출력할때 좀 더 쾌적하게 사용할 수 있다.
객체 자체를 출력할때뿐 아니라 컬렉션에 들어있을때도 혜택을 볼 수 있는데 예를 들어 Map을 출력했을때 toString() 값을 보여준다.

TODO : 추가 정리

댓글남기기