toString의 규약
- 모든 하위 클래스에서 이 메서드를 재정의하라
장점
- 사용하기 편하고 디버깅하기 쉽다.
- 재정의하지 않는다면 쓸모없는 메시지만 로그에 남는다.
- 만약 PhoneNumber용 toString을 제대로 정의했다면 에러메시지 출력시 다음과 같은 말로 충분하다.
System.out.println(phoneNumber + "에 연결할 수 없습니다.");
담을 정보
- 그 객체가 가진 주요 정보 모두(권장)
정리
- 모든 구현 클래스에서 Object의 toString을 재정의하자.
- 상위 클래스에서 이미 알맞게 재정의한 경우는 예외이다.
- 해당 객체에 관한 명확하고 유용한 정보를 읽기 좋은 형태로 반환해야 한다.
'공부 > 이펙티브자바' 카테고리의 다른 글
54. null이 아닌, 빈 컬렉션이나 배열을 반환하자 (0) | 2022.04.01 |
---|---|
14. Comparable을 구현할지 고려하라 (0) | 2022.03.18 |
5. 자원을 직접 명시하지 말고 의존 객체 주입을 사용하기 (0) | 2022.03.18 |
64. 객체는 인터페이스를 사용해 참조하라 (0) | 2022.03.17 |
3. private 생성자나 열거타입으로 싱글턴임을 보증 (0) | 2022.03.03 |
댓글