인프런 커뮤니티 질문&답변

km54277님의 프로필 이미지
km54277

작성한 질문수

자바 ORM 표준 JPA 프로그래밍 - 기본편

양방향 연관관계와 연관관계의 주인 2 - 주의점, 정리

양방향관계 toString 무한 루프 가능성 원인

작성

·

757

0

양방향관계 toString 무한 루프 가능성 원인에 대해서 생각해봤는데요. 강사님께서 말씀해주신 것처럼 Member에서 toString실행하면 team의 toString이 호출&실행되고, team.toString()에서는 <Member>리스트가 있기 때문에 이 리스트의 Member 하나하나의 toString이 다 호출&실행되기 때문이라고 까지 말씀하셨는데요.

Member 하나하나의 toString이 호출될 때 각 Member.toString 내부에서는 또 다시 team.toStroing을 호출&실행하기 때문에 무한루프(스택오버플로우 )가 발생한다고 생각해도 맞을까요?

답변 1

0

안녕하세요. km54277님, 공식 서포터즈 OMG입니다.

이해하고 계신게 맞습니다.

[[강의의 예시입니다.]]

직관적으로 보기 위해 위의 toString에서 id, name, username 출력하는 코드가 없다고 가정하고 보시면 조금 더 이해하기 쉬울텐데요,

team의 member를 출력할 때 member에서 team을 호출하게 되고 서로 순환 참조가 일어나

stackoverflow가 발생하게 됩니다.

감사합니다.

km54277님의 프로필 이미지
km54277

작성한 질문수

질문하기