본문 바로가기
Java

[EffectiveJava] Item12 toString을 항상 재정의하라

by 신입같은 3년차 2020. 12. 21.
728x90

toString() 은 Java개발을 하는 누구라도 한번쯤은 봤을법한 메서드 입니다.

toString()메서드는 Class의 최상의 부모인 Object의 기본 메서드 입니다.

Object.toString()메서드는 우리가 볼수 있는 적당한 문자열을 반환하는게 아니라

클래스이름@16진수로 표시한 해시코드를 문자열로 반환한다. toString의 일반 규약에 따르면 간결하면서 사람이 보기 쉬운 형태의 정보를 반환해야 한다.

toString()의 규약은 모든 하위 클래스에서 이 메서드를 재정의하라고 한다. 실제로 개발시에도 toString()을 재정의하여 많이 사용한다.

toString()같은 경우는 재정의하면 훨신 보기 쉽고 디버깅 하기도 쉽습니다. toString()메서드는 객체를 print를 통해 출력하고나 연결연산자(+) , assert구문에 넘길때 자동으로 호출되어 출력한다.

실제 EffectiveJava에 서는 더많은 내용이 있지만 정리된 내용만 작성하도록 하겠습니다.

  • 모든 구체 Class에서 Object의 toString 을 재정의하여 사용하라.
  • 상위 클래스에서 이미 알맞게 정의하였다면 정의하지 않아도 된다.
  • toString()은 객체에 대해 명확하고 유용한 정보를 읽기 좋은 형태로 반환해야한다.
728x90
반응형

댓글