자바스크립트 심화 강의 - 데이터 할당

Jiumn·2022년 12월 16일

JavaScript 대탐험

목록 보기
3/18

변수: 언제든지 바뀔 수 있는 데이터가 담기는 공간

변수를 할당할 때 생기는 일을 알아보자.

  1. 먼저 변수를 선언할 때 하나의 메모리에 식별자를 저장하고,
  2. 그 다음 또 다른 메모리에 변수를 저장한다.

    그리고 변수를 선언할 때 식별자를 저장했던 메모리를 다시 찾아서
    변수를 저장한 메모리의 '주소'를 저장한다.

그렇다면 왜 변수의 선언과 할당을 하나의 메모리에 동시에 하지 않을까?

이유는 2가지다.

1. 자유로운 데이터 변환을 위해
숫자는 8byte(=64bit)로 메모리량이 동일하지만
문자는 영어(1byte), 한글(2byte)로 메모리량이 달라질 수 있다.

만약 하나의 메모리에 변수의 값을 저장해버린다면
문자와 같이 메모리량이 가변적인 데이터라면 메모리의 공간을 늘리기 위해
그 다음 데이터를 하나씩 뒤로 밀어야 공간을 확보할 수 있다.
이런 방식은 매우 비효율적이다.

2. 메모리의 효율적 관리를 위해
만약 같은 값을 저장하는 여러 개의 변수가 있다고 치자.
변수 영역에 값을 바로 할당해버린다면
숫자는 8byte를 차지하므로, 8byte * n 만큼의 메모리를 차지하게 된다.

반대로 변수 영역에는 값을 바로 저장하지 않고,
값을 저장한 메모리의 주소를 참조하게 해보자.
메모리의 주소 값을 2byte라고 가정한다면
(2byte * n) + 8byte(=값이 저장된 영역)와 같이 계산되므로 더 효율적이다.

profile
Back-End Wep Developer. 꾸준함이 능력이다. Node.js, React.js를 주로 다룹니다.

0개의 댓글