원시값(string, number, boolean)과 객체(object, array)는 각각 메모리에 저장되는 방식과 공간이 다르다.
원시값의 메모리 저장
- 가상메모리의 stack 영역에 저장된다.
- 원시값 : 변경불가능
객체의 메모리 저장
- 객체는 동적으로 할당되기 때문에 heap에 저장되고 stack에 heap영역에 저장된 주소가 저장된다.
- 객체(참조값): 변경가능
힙에 저장된 주소가 다르기 때문에 서로 다른 객체가 된다.
힙에 저장된 주소가 같기 때문에 같은 객체를 가르키게 되고
하나의 객체를 변경하면 힙에 저장된 객체가 변경되고 둘 다 변경된다.
'Study Output for Myself > Computer Science' 카테고리의 다른 글
[CS] CPU스케줄링 (0) | 2022.08.22 |
---|---|
[CS]스레드와 멀티스레딩 (0) | 2022.08.19 |
[CS]메모리 할당 (0) | 2022.07.22 |
[CS]가상메모리 (0) | 2022.07.21 |
[CS]프로그래시브 랜더링이란? (0) | 2022.05.30 |