ksk7584.log
로그인
ksk7584.log
로그인
Call By Value, Call By Reference
김회민
·
2023년 2월 11일
팔로우
0
Call By Reference
Call By Value
Java
0
Java
목록 보기
5/16
값 호출 Call By Value
함수가 호출될 때, 메모리 공간 안에서는 함수를 위한 별도의 임시 공간이 생성된다.
임시 공간 : JVM - Runtime Data Area - JVM Stack
함수 호출 시
인자로 전달되는 변수(매개변수)
의 값을
복사
하여 함수의 인자로 전달한다.
함수 안에서 인자 값이 변경되어도, 외부 변수 값(원본 값)은 변경되지 않는다.
참조 호출 Call By Reference
함수가 호출될 때, 메모리 공간 안에서는 함수를 위한 별도의 임시 공간이 생성된다.
임시 공간 : JVM - Runtime Data Area - JVM Stack
매개변수의
참조값(주소값)
을 전달한다.
함수 안에서 인자 값이 변경되면,
외부 변수 값(원본 값)도 변경
된다.
자바는?
원시 타입은( Primitive ) Call By Value고,
참조 타입은( Reference ) Call By Reference일까?
Java는 오직 Call By Value로만 동작한다.
Java에서 변수를 선언하면 Stack 영역에 할당된다.
원시 타입은 Stack 영역에 변수와 함께 값이 저장된다.
참조 타입
은
객체는 Heap 영역
에 저장되고,
Stack 영역의 변수
가
객체의 주소값
을 갖고 있다.
외부 변수 값( 원본 값 )과 함수 인자( Parameter )는 Stack 영역 내에서 존재하는 다른 변수다.
출저
JAVA - 기술 면접 질문
김회민
백엔드 개발자 지망생
팔로우
이전 포스트
가비지 컬렉션, 컬렉터
다음 포스트
String, StringBuilder, StringBuffer
0개의 댓글
댓글 작성