Call by reference란 무엇이고 보통 어떻게 쓰이나요?

코코·2023년 10월 11일
0

기술면접 준비

목록 보기
1/42

메서드를 호출할 때 파라미터를 전달하는 방법에는 두 가지가 있습니다.

Call by value(값에 의한 호출)는 메서드를 호출할 때 변수의 값을 전달하는 방식입니다. 이는 호출자의 변수와 수신자의 파라미터가 서로 다른 복사본을 가지고 있으며, 메서드 내에서 파라미터를 수정해도 호출자의 변수에는 영향을 미치지 않습니다. 이 방식은 주로 원시 타입(Primitive Type) 변수에 적용되며, 변수와 해당 값은 Stack 영역에 저장됩니다. Call by value는 변수의 값을 전달하여 메서드에서 변수의 내용을 변경할 수 없으며, 호출자에게 영향을 주지 않는 방법입니다.

Call by reference(참조에 의한 호출)란 메서드를 호출할 때 파라미터로 변수의 참조(주소)를 전달하는 방식입니다. 이것은 메서드 호출자와 수신자가 동일한 변수를 가리키게 하는 방법입니다. 따라서 메서드 내에서 파라미터를 수정하면 원본 변수에도 변경이 반영됩니다. 이것은 주로 참조 타입(Reference Type) 객체에 적용되며, 변수는 Stack 영역에 저장되고 객체는 Heap 영역에 저장되며 변수는 객체의 주소값을 갖게 됩니다.

간단히 말하면, Call by reference는 변수의 참조를 전달하여 메서드에서 변수의 내용을 변경할 수 있고, 이 변경은 호출자에게 영향을 미치게 하는 방법입니다.

profile
Just Do It

0개의 댓글