1. Mutable
Mutable은 내용을 변경할 수 있음을 의미한다.
- 자바스크립트에서는 원시 값(primitive values)이 아닌 객체(object)와 배열(array)만 mutable하다.
- Mutable object는 생성된 후 상태를 수정할 수 있는 객체이다.
2. Immutable
Immutable은 내용을 변경할 수 없음을 의미한다.
- Immutable object는 생성된 후 상태를 수정할 수 없는 객체이다.
- 문자열(String)과 숫자(Number)는 immutable하다.
2.1. Immutable object
객체는 다양한 이유로 불변일 수 있다.
- 성능 향상하기(향후 객체의 변경에 대한 계획 없음)
- 메모리 사용 줄이기(전체 객체를 복제하는 대신 객체를 참조)
- 스레드 안정성(여러 스레드가 서로 간섭하지 않고 동일한 객체 참조 기능)
참고문헌