본문 바로가기
면접 준비

[면접 준비] Call by Value와 Call by reference의 차이점

by 스테디코디스트 2023. 7. 20.
반응형

1. call by value(값에 의한 호출)

- 인자로 받는 값을 복사하여 처리한다.

- 복사하여 처리하기 때문에 안전하고 원래 값이 보존된다.

- 복사를 하기 때문에 메모리 사용량이 늘어난다.

 

2. call by reference(참조에 의한 호출)

- 인자로 받은 값의 주소를 참조하여 직접 값에 영향을 준다.

- 복사를 하지않고 직접 참조를 하기에 빠르다.

- 직접 참조를 하기에 원래 값이 영향을 받는다.


<면접 예시 답안>

call by value는 인자로 받는 값을 복사하여 처리하는 값에 의한 호출이고, call by reference는 인자로 받은 값의 주소를 참조하여 직접 값에 영향을 주는 참조에 의한 호출입니다. call by value는 복사하여 값을 처리하기에 원래 값이 보존되어 안전하지만 복사를 하기에 메모리 사용량이 늘어난다는 단점도 있습니다. 이와는 반대로 call by reference는 복사를 하지 않고 직접 참조하여 접근하므로 빠르고, 원래 값이 영향을 받아 같이 변합니다.