불변값과 가변값을 나누는 기준은 뭘까?
0. 미리보는 결론 불변값과 가변값은 데이터 영역의 메모리를 변경할 수 있는가에 따라 나뉜다. 기본형 데이터 타입의 값을 변경할 때는 데이터 영역의 메모리를 변경하지 않고(불변성) 변수의 값만 재할당하는 반면, 참조형 데이터 타입의 값은 묶음을 가리키는 주솟값을 가지며 이 주소에 있는 값은 데이터 영역에 위치하여 객체 내부 변수들의 주솟값을 참조하고 있기 때문에, 프로퍼티 변경 시 데이터 영역의 메모리를 변경하여 값을 변경하는 것처럼 보인다.(가변성) 1. 변수에 값을 할당하는 과정 - 데이터 영역 메모리의 값을 직접 바꾸지 않는다. - 값을 재할당함으로써 데이터를 변경한다. 1) 바꾸고자 하는 값을 검색한다. 2-1) 값이 존재하면, 그 데이터의 주솟값을 할당한다 2-2) 값이 존재하지 않다면, 새로 ..