메뉴로 건너 뛰기 내용으로 건너 뛰기
COMMUNITY
Title [Jason Lee] pass by reference vs ailiasing
volume 1 Copying arrays 36
Author Glo*** Date Posted 2024-11-21 오후 9:05:18

안녕하십니까 선생님, 지난번 친절한 답변 정말 감사드립니다!

강의를 한 번 듣고 복습하는 과정에서 갑자기 개념에 헷갈리는것이 생겨 한번 더 여쭤봅니다.

pass by reference와 ailiasing의 차이점이 정확히 무엇인가요?


제가 이해한 바로는 

pass by reference는 method의 parameter에 object를 담으면 그 method local의 object가 main에 있던 원래 object와 같은 code? value?를 refer 하기 때문에

method에 있는 local object 를 이용해 main object의 value를 바꾸는 것이고

ailiasing 은 main에서 object가 같은 value를 refer 하기에 한 object를 변경시키면 다른 object가 바뀐다.. 


제가 이해한 바로는 pass by reference와 ailiasing의 차이가 method에서 발생하냐 main에서만 발생하냐 정도 인 것 같습니다만.. 

제가 놓친 부분이 무엇인지, 차이에 대해 설명해주실 수 있으신가요?ㅠㅠ


2024-11-25 오전 11:51:40
잘 이해하고 있네요 ^^

pass by reference 는 passing , 즉 method 를 부를 때 넘어가는 값이 reference 인지, value 인지를 말하는 거에요.

aliasing 은 어떤 경우에서건, 두 variable 이 같은 object 를 가리킬 때를 의미하는 거지요.

어떤 의미에서 보면, pass by reference 가 일어났을 떄, main() 에서 variable 이랑, method 에서 그 값을 받은 variable 

두개는 모두 같은 object를 가리키고 있기 때문에, 이 둘은 aliasing 한다고 볼 수도 있는데, 

대부분은 aliasing 은 같은 scope 에서 이런 현상이 일어날 때 사용하는 단어에요. 

Top