Notice
Recent Posts
Recent Comments
Link
관리 메뉴

데브마우스

[Java]Call by Value와 Call by Reference 정리 본문

Java/Java: 문법 정리

[Java]Call by Value와 Call by Reference 정리

데브마우스 2023. 10. 17. 21:47

Call by Value란 무엇인가요?

Call by Value란 변수에 값을 대입할 때 일반 변수를 저장합니다.

정수형(int), 실수형(float), 문자형(char), 논리형(boolean) 데이터 타입의 변수는 값을 저장합니다. 그렇기에 아래처럼 변수를 선언하고 초기화할 경우 변수의 값을 담는 메모리에는 일반 데이터 값이 저장되어 있습니다.

int a = 3;
char b = 'b'
boolean c = true;
float d = 1.23f;

 

Call by Reference란 무엇인가요?

Call by Reference란 위의 Call by Value와 다르게 변수에 값을 저장하는 게 아닌, 참조변수로써 데이터가 저장되어 있는 주소 값을 저장합니다.

Call by Reference에 해당되는 데이터 타입은 String, 클래스 데이터 타입이 있습니다.

 

Call by Reference 변수를 선언하면 아래 과정에 따라 변수가 초기화됩니다.

  1. new 연산자에 의해 인스턴스가 메모리의 빈 공간에 생성됩니다.
  2. 대입 연산자(=)에 의해 인스턴스가 저장된 메모리의 주소 값이 참조변수에 저장됩니다.

그리하여 참조변수에 있는 주소 값을 통해서 그 메모리에 있는 해당 주소로 접근할 수 있습니다.