원시 자료형과 참조 자료형

이상원·2022년 5월 12일
0

javascript

목록 보기
3/3

원시 자료형

javascript에서 원시 타입의 데이터는 6가지 타입이 존재한다.

string, number, bigint, boolean, undefined, symbol, (null)

원시 자료형은 “원시적인" 데이터로 용량이 제한된 하나의 원시 자료형 밖에 담을 수 없다.

let word = "hello world!"
word = "hello codestates!"
// 위와 같이 원시 자료형인 데이터지만 word라는 변수를 사용해서 재할당하여 변수 안에 내용을 변경 할 수 있다.

참조 자료형

jacascript에서 원시 자료형이 아닌 모든 것은 참조 자료형이다.

그 중 배열[]과 객체{}, 함수(function(){})가 대표적이다.

원시 자료형에는 하나에 데이터만 담을 수 있기 때문에 “데이터의 크기가 동적으로 변하는"

특별한 데이터 보관함이 필요해서 참조 자료형이 만들어졌다.

참조 자료형의 특징

  • 빈 객체를 의미하는 Null이 존재한다.
  • 문법 상 으로는 에러가 없지만 실행 시켰을 때 에러가 나는 런타임 에러가 발생한다.
    • 예) 객체나 배열을 Null 값으로 받으면 NullPointException이 발생 하므로 변수 값을 넣어야 한다.
  • new로 인하여 생성하는 것들은 메모리 영역인 Heap 영역에 생성을 하게되고, Garbage Collector가 돌면서 메모리를 해제한다.
  • Heap 메모리에 생성된 인스턴스는 메소드나 각종 인터페이스에서 접근하기 위해 JVM의 Stack 영역에 존재하는 Frame에 일종의 포인터(C의 포인터 와 는 다르다)인 참조값을 가지고 있어 이를 통해 인스턴스를 핸들링 한다.
profile
코드짜는 제빵왕이상원

0개의 댓글