내 세상

[Java] Effective Java 3/e - Item 12) toString을 항상 재정의하라 본문

Language/Java

[Java] Effective Java 3/e - Item 12) toString을 항상 재정의하라

sga8 2021. 12. 6. 19:05
728x90
반응형

 

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

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

 

toString을 잘 구현한 클래스는 사용하기에 훨씬 즐겁고, 그 클래스를 사용한 시스템은 디버깅하기 쉽다.

toString메서드는 객체를 println, printf, 문자열 연결 연산자(+), assert 구문에 넘길 때, 혹은 디버거가 객체를 출력할 때 자동으로 호출된다.

즉, 직접 호출하지 않더라도 다른 어딘가에서 쓰일 거란 의미이다.

 

format을 한번 명시하면 평생 그 format에 얽매이게 된다.

만약 향후 release에서 format을 바꾼다면 이를 사용하던 코드들과 데이터들은 엉망이 될 것이다.

반대로 format을 명시하지 않는다면 향후 release에서 정보를 더 넣거나 format을 개선할 수 있는 유연성을 얻게 된다.

→ Format을 명시하든 아니든 의도를 명확히 밝혀야 한다.

728x90
반응형