- 원시 타입의 값 , 즉 원시 값은 변경 불가능한 값이다.
- 이에 비해 객체(참조) 타입의 값, 즉 객체는 변경 가능한 값이다.
- 원시 값에 변수를 할당하면 변수(확보된 메모리 공간)에는 실제 값이 저장된다. 이에 비해 객체를 변수에 할당하면 변수(확보된 메모리 공간)에는 참조 값이 저장된다.
- 원시 값을 갖는 변수를 다른 변수에 할당하면 원본의 원시 값이 복사되어 전달된다. 이를 값에 의한 전달이라 한다.
- 객체를 가리키는 변수를 다른 변수에 할당하면 원본의 참조 값이 복사되어 전달된다. 이를 참조에 의한 전달이라 한다.
1. 원시 값
1.1 변경 불가능한 값
<aside>
💡 원시 값은 변경 불가능한 값이다.
</aside>
- 즉, 한번 생성된 원시 값은 읽기 전용 값으로서 변경 할 수 없다.
구체적으로 생각하자면
- 변수 : 하나의 값을 저장하기 위해 확보한 메모리 공간 자체 또는 그 메모리 공간을 식별하기 위해 붙인 이름
- 값 : 변수에 저장된 데이터로서 표현식이 평가되어 생성된 결과를 말한다.
<aside>
💡 즉, 변경 불가능하다는 것은 변수가 아니라 값에 대한 진술!
</aside>
→ “원시 값이 변경 불가능하다”는 말은 원시 값 자체를 변경할 수 없다는 것이지, 변수 값을 변경할 수 없다는 것이 아니다.
그렇다면 상수는??