원시 자료형(primitive type) 참조 자료형(reference type)

Jelkov Ahn·2021년 8월 4일
0
post-thumbnail

Achievement Goals

  • 원시 자료형과 참조 자료형
  • 원시 자료형(primitive type)과 참조 자료형(reference type)의 구분이 왜 필요한지에 대해서 영상을 보고 이해할 수 있다.
  • 원시 자료형과 참조 자료형의 차이를 이해하고, 각자 맞는 상황에서 사용할 수 있다.
  • 원시 자료형이 할당될 때에는 변수에 값(value) 자체가 담기고, 참조 자료형이 할당될 때는 보관함의 주소(reference)가 담긴다는 개념을 코드로 설명할 수 있다.
  • 참조 자료형은 기존에 고정된 크기의 보관함이 아니라, 동적으로 크기가 변하는 특별한 보관함을 사용한다는 것을 이해할 수 있다.

원시 자료형과 참조자료형

원시자료형

  • (1) 자바스크립트에서 원시 타입의 데이터(primitive data types; 원시 자료형)는 객체가 아니면서 method를 가지지 않는 6 가지의 타입

    • string, number,bigint, boolean, undefined, symbol, (null)
  • (2) 이 중에서 자주 사용하는 4 (+1)가지 원시 자료형

    • string, number, boolean, undefined, (null)
  • (3) 원시 자료형은 모두 "하나"의 정보, 즉, 데이터를 담고 있습니다.

  • (4) 원시 자료형은 값 자체에 대한 변경이 불가능(immutable)하지만, 변수에 다른 데이터를 할당할 수는 있습니다.

"hello world!"
"hello codestates!"
// "hello world!" 와 "hello codestates!"는 모두 변경할 수 없는 고정된 값입니다.

let word = "hello world!" 
word = "hello codestates!" 
// 하지만, word라는 변수에 재할당을 하여 변수에 담긴 내용을 변경은 가능합니다.

const num1 = 123;
num1 = 123456789; // 에러 발생
// const 키워드로 선언하면, 재할당은 불가합니다.
  • (5) 복사할경우 원본을 복사해오기 때문에, 복사한 값을 변경할 경우, 원본은 변경되지 않는다.

참조자료형

  • (1) 자바스크립트에서 원시 자료형이 아닌 모든 것은 참조 자료형입니다.

    • 배열(Array)과 객체(object), 함수(function)이 대표적입니다.
  • (2) 자료형 변수에는 특별한 데이터 보관함을 찾아갈 수 있는 주소가 담겨있고, 이 주소를 따라가보면 특별한 데이터 보관함을 찾을 수 있는데, 이 특별한 데이터 보관함에서는 자기 마음데로 사이즈를 늘렸다가 줄였다가 합니다.

  • (3) 특별한 데이터 보관함은, 왜 동적으로 크기가 변하게 되었을까요?
    배열과 객체는 대량의 데이터를 쉽게 다루기 위해서 사용합니다. 대량의 데이터를 다루기 위해서는 데이터 보관함이 동적으로 변하는게 적합합니다.`

  • (4) 복사할경우 참조타입 데이터는 주소를 복사해서, 복사한 내용을 변경할경우, 주소가 변경되서 원본값도 바뀌게 됩니다.

원시자료형과 참조자료형의 특징

  • 원시 자료형이 할당될 때에는 변수에 값(value) 자체가 담기고, 참조 자료형이 할당될 때는 보관함의 주소(reference)가 담깁니다.
  • 그래서 참조 자료형은 기존에 고정된 크기의 보관함이 아니라, 동적으로 크기가 변하는 특별한 보관함을 사용할 수 있습니다.
profile
끝까지 ... 가면 된다.

0개의 댓글