프로그래밍에서 사용되는 모든 데이터는 자료형으로 구분됩니다. 이 자료형에는 참조 자료형과 원시 자료형이 있습니다.
원시 자료형은 불변하는 값으로, 변수에 직접 값을 저장합니다. 이러한 자료형은 보통 기본 데이터 타입으로도 알려져 있으며, 대부분의 프로그래밍 언어에서 기본적으로 제공됩니다. 원시 자료형의 종류에는 다음과 같은 것들이 있습니다.
참조 자료형은 변수에 직접 값을 저장하지 않으며, 값을 가리키는 참조를 저장합니다. 이러한 자료형은 객체(Object)와 배열(Array) 등과 같은 복합 데이터 타입으로 사용됩니다. 참조 자료형은 변수에 할당될 때, 값이 아닌 참조를 할당합니다. 이는 참조 자료형이 불변한 것이 아니라는 것을 의미합니다. 참조 자료형의 종류에는 다음과 같은 것들이 있습니다.
원시 자료형은 변수에 직접 값을 저장하는 반면, 참조 자료형은 변수에 값 대신 메모리 주소를 저장합니다. 이러한 차이점으로 인해, 원시 자료형과 참조 자료형은 다음과 같은 차이점을 가집니다.
// 원시 자료형
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 등이 원시 자료형에 해당합니다. 이러한 원시 자료형을 다룰 때에는 변수에는 해당 값이 직접 저장되며, 다른 변수에 할당하거나 값을 변경하더라도 다른 변수에 영향을 미치지 않습니다. 이러한 특징으로 인해, 원시 자료형은 참조 자료형보다 간단하게 다룰 수 있습니다.
이렇게 위의 내용처럼 원시 자료형과 참조 자료형의 구분이 중요하며. 이러한 자료형의 특징을 이해하고, 변수를 적절히 활용하여 프로그래밍을 해야 합니다.✏️