본문은 Effective Java를 읽고 간단하게 정리한 글입니다. 필요에 따라 생략/수정된 부분이 있을 수 있으며, 내용이 추후 변경될 수 있습니다.
선결론
- 디버깅을 위해 모든 구체 클래스에서 toString을 재정의하라
하면 안되는 경우
- 상위 클래스에서 이미 알맞게 재정의한 경우
- 하위 클래스에서 공유해야 할 표현이므로 재정의 X
- static 유틸리티 클래스
- toString 자체가 고유한 객체의 정보를 보기 위함인데.. static 유틸리티 클래스는 같은 인스턴스만을 반환하므로
- 대부분의 enum 타입
- toString() 메서드를 호출하면 열거형 상수의 이름을 출력함, 이걸로 충분
할 거라면 어떻게?
- 객체의 모든 정보가 잘 드러나게
- IDE나 프레임워크의 힘을 빌리자
- JPA의 Entity에서 toString을 IDE가 만들어주는 대로 재정의하면 스택오버플로가 발생할 수 있다. 주의하자!
'책 > Effective Java' 카테고리의 다른 글
[이펙티브 자바] 아이템14: Comparable을 구현할지 고려하라 (0) | 2022.04.27 |
---|---|
[이펙티브 자바] 아이템13: clone 재정의는 주의해서 진행하라 (0) | 2022.04.27 |
[이펙티브 자바] 아이템11: equals를 재정의하려거든 hashCode도 재정의하라 (0) | 2022.04.22 |
[이펙티브 자바] 아이템10: equals는 일반 규약을 지켜 재정의하라 (0) | 2022.04.20 |
[이펙티브 자바] 아이템9: try-finally보다는 try-with-resources를 사용하라 (0) | 2022.04.20 |