변수 복사
변수 복사
변수 복사가 어떤 과정으로 이루어지는지에 관한 글이다.
변수 복사 과정 예시 코드
var a = 10;
var b = a;
var obj1 = { c: 10, d: 'ddd' };
var obj2 = obj1;
참조형 데이터 객체에 대한 변수 선언 및 할당 과정
기본형 데이터
-
1번째 줄에서는 변수 영역의 빈 공간 @1001을 확보하고 식별자 a로 지정.
-
숫자 10을 데이터 영역에서 검색하고 없으므로 빈 공간 @5001에 저장한 다음, 이 주소를 @1001에 넣음
-
기본형 데이터에 대한 변수 선언 및 할당 종료
복사 할 차례
-
변수 영역의 빈 공간 @1002를 확보하고 식별자 b로 지정함
-
식별자 a를 검색해 그 값을 찾은 후 @1001에 저장된 값인 @5001를 @1002의 값으로 대입
참조형 데이터 차례
-
4번째 줄에서는 변수 영역의 빈 공간 @1003를 확보하여 식별자 obj1로 지정함
-
데이터 영역의 빈 공간 @5002를 확보하고, 데이터 그룹이 담겨야 하기 때문에 별도의 변수 영역 @7103을 확보한 후 주소를 저장함
-
@7103에는 식별자 c를, @7104에는 식별자 d를 입력한 다음, c에 대입할 값 10을 데이터 영역에서 선택
-
@5001에 저장되어 있으므로 주소를 @7103에 연결
-
문자열 'ddd'는 데이터 영역의 빈공간에 새로 만들어져 @7104에 연결
-
변수 영역의 빈 공간 @1004를 확보하고 식별자를 obj2로 지정
-
식별자 obj를 검색한 후 그 값인 @5002를 들고 @1004에 값으로 대입함