원시자료형과 참조자료형

ASOpaper·2022년 11월 7일
0

Javascript

목록 보기
7/11

원시 자료형과 참조 자료형

목표

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

원시자료형

(primitive data types)원시타입 데이터, 변수에 값(Value) 자체가 담긴다.
객체가 아니면서 메서드를 가지지 않는 6가지의 타입, 데이터를 복사할 때 각 데이터 값이 복사되기 때문에 기존 데이터에 영향이 가지 않음
| string, number, bigint, boolean, undefined, symbol, (null)

원시 자료형은 모두 하나의 데이터를 담고 있음

개별의 *stack에 변수명과 값의 데이터 장소를 할당
*stack : 공백인 스택에 자료 추가 시 가장 아래부터 자료가 쌓여 가장 마지막에 삽입한 자료가 가장 먼저 추출되고 삭제되는 자료구조

참조자료형

(reference data type)참조 타입, 변수에 보관함의 주소(Reference)가 담긴다.

개별의 stack에 값 대신 *heap(동적으로 크기가 변하는 데이터 보관함)에 연결된 주소를 넣고 *heap에 해당 주소의 값을 가져옴

레퍼런스(reference)를 찾는다 > 변수가 가리키고(refer) 있는 데이터의 참조

*heap : 컴퓨터의 기억 장소에서 그 일부분이 프로그램들에 할당되었다가 회수되는 작용이 되풀이되는 영역, 프로그램들이 요구하는 블록의 크기나 요구/횟수 순서가 일정한 규칙이 없다. 지시자를 통해 변수를 동적으로 할당받고 돌려준다.

객체와 배열, 함수가 포함됨

참조타입 데이터로, 복사를 진행하면 주소를 복사하기 때문에 복사한 데이터에서 원소를 변경하면 주소 안에 있는 데이터를 수정하기 때문에 영향이 미치게 됨

profile
개인 공부 일지

0개의 댓글