부트캠프

원시 자료형과 참조 자료형

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이라고 한다.