toString() 매서드는 객체가 가지고 있는 정보나 값들을 문자열로 만들어 리턴하는 메서드이다. 

 

-toString()을 재정의 하지 않아도 되는 경우

 

정적 유틸리티 클래스

enum 타입도 자바가 이미 toString을 제공한다

Lombok이 @toString을 사용하는 경우

 

-toString()을 재정의 하면 디버깅, 로깅이 편해지고, 직접 호출하지 않아도 다른 어딘가에서 사용될 수 있다

-간결하면서도 사람이 읽기 쉬운 형태여야 한다 

-객체가 가진 모든 정보를 반환하는 게 좋다

-포맷을 할지 고민해본다(포맷을 정의하면 유지보수가 어려울 있다) 

 

출처1, 출처2 

 

@ToString을 사용할 때 연관관계 필드는 넣지 않는다. 

이유는 연관관계 필드를 넣으면 서로가 참조해 무한루프가 돌 수 있기 때문이다

+ Recent posts