부트캠프
원시 자료형과 참조 자료형
mimi-latte
2022. 5. 13. 20:25
원시 자료형
- 원시 타입의 값(primitive type)
- 변경 불가능한 값(immutable value)
- 읽기 전용(read only) 값으로써 변경 불가능
- 위의 특성은 데이터의 신뢰성을 보장한다.
- 원시 값을 할당한 변수가 기억하는 메모리 주소를 통해 메모리 공가에 접근하면 원시 값에 접근할 수 있다.
- string, number, bigInt, boolean, undefined, symbol
왜 원시 자료형인가?
- 원시 자료형은 모두 하나의 정보(데이터)를 담는다.
- 옛날엔 메모리의 용량이 제한되어 변수 하나에 용량이 제한 된 하나의 원시 자료형만 할당할 수 있었다.
- 데이터 하나에 원시 자료형 하나만 할당할 수 있어서 원시적인 방식이다.
변수에는 하나의 데이터만 담는다
변수는 데이터의 크기와는 관계 없이 하나의 데이터만 담을 수 있다
원시 자료형은 변수에 값을 할당할 수 있고, 참조 자료형은 값이 아닌 주소를 저장한다.
참조 자료형
- 객체(참조)타입의 값
- 변경 가능한 값(mutable value)
- 객체를 할당한 변수가 기억하는 메모리 주소를 통해 메모리 공간에 접근하면 참조 값에 접근할 수 있다.
- 참조 값은 생성된 객체가 저장된 메모리 공간의 주소이다.
- 여러 개의 식별자가 하나의 객체를 공유할 수 있다.
- function, object, array
참조 자료형
데이터의 크기가 동적으로 변하는" 특별한 데이터 보관함, Heap
- 컴퓨터가 등장 초기에는 배열, 즉 리스트 개념을 구현하기 어려웠다.
- 띄어쓰기, 탭, 쉼표 등으로 데이터를 구분하여 배열과 비슷한 형태로 자료 구조를 구현했다.
- 이러한 자료 구조를 구현한 이유는 변수에 넣을 수 있는 데이터 크기가 제한되었기 때문이다.
- 배열에 많은 데이터를 저장 시 데이터가 저장된 위치를 기억하거나 데이터의 추가, 삭제, 변경이 어렵고 번거로운 작업이 될 수 있다.
- 그런 이유로 데이터의 크기가 동적으로 변하는 특별한 데이터 보관함이 필요해졌다.
참조 자료형이 보관되는 heap
- 참조 자료형에는 하나의 데이터가 아닌 여러 데이터가 담기게 된다.
- 그래서 참조 자료형의 데이터는 특별한 데이터 보관함에 저장되는데, 이 보관함을 heap이라 부른다.
- 참조 자료형의 데이터가 위치한 메모리 상 주소가 변수에 저장된다.
- 참조 자료형의 데이터가 저장된 heap은 마음대로 사이즈를 조절할 수 있다(동적(dynamin)으로 변한다고도 한다)
- 데이터는 heap에서 별도로 관리되고 변수에는 데이터가 위치한 주소가 저장되기 때문에 reference data type이라고 한다.