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

박정훈님의 프로필 이미지
박정훈

작성한 질문수

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

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

연관관계 편의 메소드 질문 있습니다.

작성

·

314

0

강사님 혹시 영상의 13:19에서 연관관계 편의 메소드 setTeam에서 

this.team = team;

team.getMembers().add(this);

로 되어 있는 부분을 두 코드의 순서를 바꿔서

team.getMembers().add(this);

this.team = team;

으로 코드를 작성해도 상관이 없는 건가요?

마찬가지로 17:29에 나오는 addMember 메소드에서도 

member.setTeam(this);

members.add(member);

두 코드의 순서를 바꿔도 되는 건가요?

답변 2

1

박정훈님의 프로필 이미지
박정훈
질문자

네 알겠습니다. 감사합니다!

1

안녕하세요. 박정훈님, 공식 서포터즈 codesweaver 입니다.

.

문의주신 것처럼 두 코드의 순서는 상관 없습니다.

this.team 과 파라미터로 전달된 team 이 결국 같은 객체를 참조하게 됩니다.

다만 코드가 만약 아래의 예제처럼 되어 있다면 순서의 문제가 중요해질 수 있습니다.

// this 가 추가 되는순간 혼돈의 카오스가 열립니다
public void addTeam(Team team) {
    this.team.getMembers().add(this);  // this.team이 아직 객체를 참조하지 않고 있기때문에 NullPointerException이 발생할 수 있습니다.
    this.team = team;
}

.

감사합니다.

박정훈님의 프로필 이미지
박정훈

작성한 질문수

질문하기