toString을 항상 재정의하라

김종준·2023년 4월 22일
0

이펙티브자바

목록 보기
10/63

toString을 항상 재정의하라

toString의 일반 규약에 따르면 '간결하면서 사람이 읽기 쉬운 형태의 유익한 정보'를 반환해야 한다.

또한 toString의 규약은 "모든 하위 클래스에서 이 메서드를 재정의하라"고 한다.

실전에서는 toString은 그 객체가 가진 주요 정보를 모두 반환하는 게 좋다.

그리고 toString을 구현한 때면 반환값의 포맷을 문서화할지 정해야 한다.

포맷을 명시하면 그 객체는 표준적이고, 명확하고, 사람이 읽을 수 있게 된다.

따라서 그 값 그대로 입출력에 사용하거나 CSV 파일처럼 사람이 읽을 수 있는 데이터 객체로 저장할 수도 있다.

포맷을 명시하기로 했다면, 명시한 포맷에 맞는 문자열과 객체를 상호 전환할 수 있는 정적 팩토리나 생성자를 함께 제공해 주면 좋다.

그리고 포맷을 명시하든 아니든 의도는 명확히 밝히는 것이 좋다.

0개의 댓글