본문 바로가기
개발자 기술 면접/JAVA

[JAVA] Call by Reference와 Call by Value의 차이

by se-black 2023. 12. 25.
Call by Value

- Call by Value 방식은 함수에 인자를 전달할 때 인자값을 복사하여 전달하는 방식입니다. 이 방식에서는 원본 데이터와 전달된 복사본이 서로 다른 메모리 주소를 가지기 때문에, 함수 내에서 인자의 값을 변경해도 원본 데이터에는 영향을 미치지 않습니다. C, C++, Java, Python 등이 Call by Value 방식을 사용합니다.

 

Call by Reference

- Call by Reference 방식은 함수에 인자를 전달할 때 인자의 메모리 주소를 전달하는 방식입니다. 함수 호출 시에 인자로 전달되는 변수의 레퍼런스를 전달하며 해당 주소를 통해 원본 데이터를 직접 수정할 수 있습니다. C++, Swift, PHP 등이 Call by Reference 방식을 지원합니다.

728x90