JAVA

[JAVA] Call By Value / Call By Reference

HJLIM 2021. 3. 11. 11:46

Call By Value(CBV)

 

- CBV는 기본적으로 대상에 주소값을 가지지 않는 것으로 값을 할당받는 형태로 사용한다.

- int, float, double, byte와 같은 primitive type(기본형 타입)에 해당.  -> 실제값은 Stack 메모리에 저장됨!

- 예를들어 int p1 = 1 이라고 했을 때 메소드에 인자를 받을 때 p의 주소값을 받는 것이 아닌 p의 값 1을 직접

  받는 것을 말한다.   

 

 

Call By Reference(CBR)

 

- CBR은 대상을 선언했을 때 주소값이 부여가 되는데 어떤 객체를 호출했을 때 그 객체의 주소값을 불러온다.

- String, Array, Date, file, Class, Object와 같은 Reference Type(참조형 타입) -> 주소값은 Heap 메모리에 저장됨!