• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

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

21.07.14 18:37 작성 조회수 695

0

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

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

답변 1

답변을 작성해보세요.

0

OMG님의 프로필

OMG

2021.07.14

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

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

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

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

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

stackoverflow가 발생하게 됩니다.

감사합니다.

채널톡 아이콘