객체 타입
- {key : value} 로 구성되어있다.
value안에는 원시, 객체 둘다 넣을 수 있다.- 원시 타입은 변수에 값을 할당하면 메모리 셀 에 값 자체가 들어간다.
- 원시 타입 같은 경우는 어플실행시 어디에 변수가 선언되어있냐의 따라서 data, stack에 들어간다.
- 객체 같은 경우는 어플실행시 사이즈가 정해져있지 않기 때문에 Heap이 라는 스페셜한 공간에 객체가 할당된다.
Heap은 사이즈가 정해져 있지 않고 동적으로 사이즈가 늘었다 줄었다 할 수 있다.- 원시는 글로벌하게 설정되어있다면 data
로컬에 설정되어있다면 stack- 객체의 자체는 Heap어딘가에 메모리에 저장되어있고, 메모리 셀 하나 안에 커다란 객체가 들어갈 수 없기 때문에 셀 여러개를 걸쳐서 오브젝트가 할당이 된다.
변수 이름은 메모리 셀을 가르키는데 메모리 셀 안에는 실제 오브젝트가 들어있는 주소를 가지고있다.