toString 의 규약은 모든 하위 클래스에서 이 메서드를 재정의하라 고 한다.
toString()
을 사용하면 클래스_이름@16진수로_표시한_해시코드
를 반환한다.toString()
은 출력 메서드 (println, printf), 문자열 연결 연산자(+
), assert 구문에 넘길 때, 디버거가 객체를 출력할 때 자동으로 호출된다.→ 제대로 재정의했다면 다음코드만으로 문제를 진단하기 충분한 메시지를 남길 수 있다.
System.out.println(member + "에 연결할 수 없습니다.");
객체가 가진 주요 정보 모두를 반환하는게 좋다.
포맷을 명시하면 객체는 표준적이고, 명확하고, 사람이 읽을 수 있게 된다.