





@Override
public String toString() {
return "Rq{" +
"actionMethod='" + actionMethod + '\'' +
", params=" + params +
'}';
}
@Override
public String toString() {
return "Motivation{" +
"id=" + id +
", body='" + body + '\'' +
", source='" + source + '\'' +
'}';
}
}
toString이 잘 구현된 클래스는 사용하기 편하고, 디버깅이 쉽다. 객체를 출력하기만 하면, 객체가 가지고 있는 모든 정보를 확인할 수 있다. 우리가 직접 호출하지 않아도, 로깅을 하거나 에러 메세지를 출력할 때에도 유용하게 사용할 수 있다.
toString은 객체가 가진 주요 정보를 모두 반환하는 것이 좋다. 이상적으로는 스스로를 완벽히 설명하는 문자열이여야한다.
위와 같이 오버라이딩하여 재정의된 toString 메소드는 직접 호출하지 않더라도 문자열 출력시, 문자열 결합 연산자 등을 사용할 때 자동으로 호출된다.
toString은 디버깅을 위해 설계된 메소드! 어떤 문제가 발생한 클래스가 toString이 잘 구현된 클래스일 경우 스스로를 완벽히 설명하는 문자열이 로깅될 것이고 그렇지 않을 때보다 훨씬 더 원인을 발견하기 쉬워진다.


