자바/개념
Call by Value, Call by Reference 란?
대전집주인
2024. 4. 4. 11:17
728x90
SMALL
Call by Value
- 값에 의한 호출
- 기본 자료형에 적용
- 변수에 값 자체를 저장
- 변수를 복사하면 변수의 값 자체를 복사(stack 메모리)
- 원시타입(primitive type) int, double, char 등 기본 자료형이 속함
- 파라미터로 값을 던져주고 값이 변경이 되어도 변수의 값을 복사해서 던져 주기 때문에 원본 데이터에는 아무런 지장이 가지 않는다.
Call by Reference
- 참조 값에 의한 호출
- 배열이나 객체를 참조
- 변수에는 값이 아니라 객체의 주소 값(참조)이 저장
- 변수를 복사하면 주소가 복사되어 하나의 객체를 참조하게 됨
- 참조타입(reference type) String, 배열, 객체 등 원시타입을 제외한 타입을 말함
- 객체를 메서드의 파라미터로 사용할 경우 값을 전달하는게 아닌 참조되는 주소를 던져준다.
- call by value 처럼 stack의 값(주소)을 복사해서 넘긴다. reference는 주소값을 복사해서 받기 때문에 데이터의 변경이 되면 주소가 가르키는 Heep 메모리의 값이 변경된다.
728x90
LIST