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
'자바 > 개념' 카테고리의 다른 글
[Java] replaceAll 정규 표현식 사용방법 (0) | 2024.12.10 |
---|---|
[Java] 디폴트 메서드(Default Method) 란? (1) | 2024.04.12 |
[Java] 함수형 인터페이스(Functional Interface) 란? (0) | 2024.04.11 |
컴파일(compile)와 인터프리터(interpreter)는 무엇일까? (0) | 2024.04.04 |
JIT(JUST IN TIME) 란? (0) | 2024.04.04 |