23/05/01 TIL

이한·2023년 5월 1일
0
post-thumbnail

참조 자료형과 원시 자료형

프로그래밍에서 사용되는 모든 데이터는 자료형으로 구분됩니다. 이 자료형에는 참조 자료형과 원시 자료형이 있습니다.

원시 자료형

원시 자료형은 불변하는 값으로, 변수에 직접 값을 저장합니다. 이러한 자료형은 보통 기본 데이터 타입으로도 알려져 있으며, 대부분의 프로그래밍 언어에서 기본적으로 제공됩니다. 원시 자료형의 종류에는 다음과 같은 것들이 있습니다.

  • 숫자(Number) : 정수, 실수, 소수 등의 숫자 데이터
  • 문자열(String) : 문자의 연속된 데이터
  • 불리언(Boolean) : 참(True) 또는 거짓(False)을 나타내는 논리적인 데이터
  • null : 아무런 값도 없음을 나타내는 데이터 타입
  • undefined : 변수가 아직 정의되지 않았음을 나타내는 데이터 타입
  • 원시 자료형은 변수에 값을 할당할 때 그 값을 복사하므로, 변수의 값을 변경하더라도 다른 변수의 값에는 영향을 미치지 않습니다.

참조 자료형

참조 자료형은 변수에 직접 값을 저장하지 않으며, 값을 가리키는 참조를 저장합니다. 이러한 자료형은 객체(Object)와 배열(Array) 등과 같은 복합 데이터 타입으로 사용됩니다. 참조 자료형은 변수에 할당될 때, 값이 아닌 참조를 할당합니다. 이는 참조 자료형이 불변한 것이 아니라는 것을 의미합니다. 참조 자료형의 종류에는 다음과 같은 것들이 있습니다.

  • 객체(Object) : 복잡한 데이터 구조를 가지는 데이터 타입
  • 배열(Array) : 데이터 요소의 모임을 가지는 데이터 타입
  • 함수(Function) : 프로그램에서 재사용 가능한 코드 블록을 나타내는 데이터 타입
참조 자료형은 변수에 값을 할당할 때, 해당 변수에는 참조 값만 할당됩니다. 즉, 참조 값은 원본 값이 저장되어 있는 메모리 주소를 가리키며, 여러 변수가 동일한 값을 가리킬 수 있습니다. 따라서, 하나의 변수의 값을 변경하면 다른 변수의 값도 동일하게 변경됩니다.

참조 자료형과 원시 자료형의 차이점

원시 자료형은 변수에 직접 값을 저장하는 반면, 참조 자료형은 변수에 값 대신 메모리 주소를 저장합니다. 이러한 차이점으로 인해, 원시 자료형과 참조 자료형은 다음과 같은 차이점을 가집니다.

  1. 변수의 할당
  2. 원시 자료형 : 변수에 값이 직접 할당됨
    참조 자료형 : 변수에는 값 대신 메모리 주소가 할당됨
  3. 값 변경
  4. 원시 자료형 : 값이 변경될 경우, 다른 변수에는 영향을 미치지 않음
    참조 자료형 : 값이 변경될 경우, 다른 변수도 함께 변경됨
  5. 복사
  6. 원시 자료형 : 값이 복사됨
    참조 자료형 : 메모리 주소가 복사됨
  7. 비교
  8. 원시 자료형 : 값이 같은지 비교 가능
    참조 자료형 : 메모리 주소가 같은지 비교 가능

예시

// 원시 자료형
let a = 10;
let b = a;
a = 20;
console.log(a); // 20
console.log(b); // 10

// 참조 자료형
let c = [1, 2, 3];
let d = c;
c[0] = 4;
console.log(c); // [4, 2, 3]
console.log(d); // [4, 2, 3]

위의 예시에서 a와 b는 모두 원시 자료형인 숫자(Number)를 저장하는 변수입니다. a에 10을 할당하고, b에 a의 값을 할당합니다. 이후 a의 값을 변경하더라도 b에는 영향을 미치지 않습니다.

반면, c와 d는 참조 자료형인 배열(Array)을 저장하는 변수입니다. c에 [1, 2, 3]을 할당하고, d에 c의 값을 할당합니다. 이후 c의 값을 변경하면, d도 함께 변경됩니다. 이는 c와 d가 동일한 배열 객체를 가리키기 때문입니다.

자바스크립트에서의 참조 자료형

자바스크립트에서는 객체(Object)와 배열(Array) 등이 참조 자료형에 해당합니다. 이러한 참조 자료형을 다룰 때에는, 변수에는 해당 객체 또는 배열의 메모리 주소가 저장되며, 이를 참조하여 객체 또는 배열에 접근하게 됩니다. 따라서, 참조 자료형을 다룰 때에는 주의하여야 하며, 값의 변경이 다른 변수에도 영향을 미치는지를 항상 확인하여야 합니다.

자바스크립트에서의 원시 자료형

자바스크립트에서는 문자열(String), 숫자(Number), 불리언(Boolean), null, undefined 등이 원시 자료형에 해당합니다. 이러한 원시 자료형을 다룰 때에는 변수에는 해당 값이 직접 저장되며, 다른 변수에 할당하거나 값을 변경하더라도 다른 변수에 영향을 미치지 않습니다. 이러한 특징으로 인해, 원시 자료형은 참조 자료형보다 간단하게 다룰 수 있습니다.


이렇게 위의 내용처럼 원시 자료형과 참조 자료형의 구분이 중요하며. 이러한 자료형의 특징을 이해하고, 변수를 적절히 활용하여 프로그래밍을 해야 합니다.✏️

profile
둥실둥실

0개의 댓글