반응형
## Call by Reference (참조 호출)
**Call by Reference (참조 호출)**는 함수나 메서드를 호출할 때 인자로 변수의 **주소**를 전달하는 방식을 말합니다.
### Call by Value (값 호출) 와의 차이점
* **Call by Value (값 호출)**: 변수의 **값**을 복사하여 함수에 전달합니다. 함수 내에서 인자의 값이 변경되어도 원래 변수에는 영향을 주지 않습니다.
* **Call by Reference (참조 호출)**: 변수의 **주소**를 전달하므로 함수 내에서 인자의 값을 변경하면 원래 변수의 값도 함께 변경됩니다.
### 장점
* 함수 내에서 원래 변수의 값을 직접 변경할 수 있습니다.
* 큰 데이터를 복사하지 않고 주소만 전달하므로 메모리 효율성이 좋습니다.
### 단점
* 함수 내에서 의도치 않게 원래 변수의 값을 변경할 수 있으므로 주의해야 합니다.
### Call by Reference를 지원하는 언어
* C++
* Python (일부 경우)
### Call by Reference를 흉내내는 방법 (C)
C 언어는 Call by Reference를 직접 지원하지 않지만, **포인터**를 사용하여 Call by Reference와 유사하게 동작하도록 만들 수 있습니다.
### 참고
* Call by Value와 Call by Reference의 차이점을 이해하는 것이 중요합니다.
* 각 프로그래밍 언어에서 Call by Reference가 어떻게 동작하는지 확인해야 합니다.
참조로 호출 (
728x90
'개발공부 > CS' 카테고리의 다른 글
프레임워크와 라이브러리의 차이점 (0) | 2025.02.16 |
---|---|
파라미터(Parameter)와 아규먼트(Argument)의 차이점 (0) | 2025.02.16 |
Call by Value란? (0) | 2025.02.16 |
Git과 GitHub 차이점 (0) | 2025.02.16 |
추상화란? (0) | 2025.02.16 |