• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

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

21.06.29 13:13 작성 조회수 268

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

박정훈님의 프로필

박정훈

질문자

2021.06.30

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

1

codesweaver님의 프로필

codesweaver

2021.06.29

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

.

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

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

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

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

.

감사합니다.