toString
log.info("고객 객체 반환: {}", customer);
toString은 무시하기 쉬우나 생각보다 자주 사용되는 공통 메소드이다. API를 호출할 때 사용자에게 보여주는 반환값을 toString을 사용하여 보여줄 수 있고, 로그를 출력할 때 toString이 사용될 수 있다. 하지만 기본 Object의 toString은 "클래스명@해시코드값"으로 되어있어서 일반적인 기대값과는 다르다. 따라서 클래스를 만들 때 기대에 맞는 toString을 재정의하고 그 포맷을 사용자가 알 수 있도록 알려주어야 한다.
toString을 잘 정의한 사례
일자를 표현하는 클래스인 LocalDate가 toString을 잘 재정의한 사례이다. 먼저 일자의 핵심정보인 년/월/일이 모두 출력된다. 그리고 메소드에 주석을 적절히 달아두어서 "2022-08-31"과 같은 형식으로 출력된다는 것 또한 개발자가 쉽게 알 수 있다.
+lombok
@ToString
public class Customer {
private String customerId;
...
}
728x90
'STUDY > 이펙티브자바' 카테고리의 다른 글
3-5) Comparable을 구현할지 고려하라 (0) | 2022.09.01 |
---|---|
3-4) clone 재정의는 주의해서 진행하라 (0) | 2022.09.01 |
3-2) equals를 재정의 하려면 hashCode도 재정의하라 (0) | 2022.08.31 |
3-1) equals는 일반 규약을 지켜서 재정의하라 (0) | 2022.08.25 |
2-9) try-finally 보다는 try-with-resources를 사용하라 (0) | 2022.08.23 |