mutable과 immutable의 차이점은 무엇인가요?

0

기술면접 - JS

목록 보기
15/18

mutable과 immutable의 차이점은 무엇인가요?

Mutable과 Immutable의 차이점은 다음과 같습니다:

Mutable (가변):

  • 가변 객체는 생성된 후에 내부 상태를 변경할 수 있습니다.
  • 객체의 속성 값을 변경하거나 추가, 제거할 수 있습니다.
  • 이전 상태와 현재 상태 간의 차이를 추적하기 어렵습니다.
  • 여러 개의 참조가 있을 경우, 하나의 참조에서 변경된 경우 다른 참조에도 영향을 줄 수 있습니다.
  • 가변 객체는 메모리 사용량이 더 큰 경우가 있을 수 있습니다. 변경될 때마다 새로운 객체를 생성하거나 할당을 해야할 수도 있습니다.

Immutable (불변):

  • 불변 객체는 한 번 생성되면 내부 상태를 변경할 수 없습니다. 변경이 필요한 경우 새로운 객체가 생성됩니다.
  • 객체의 상태를 변경하는 대신, 변경된 상태의 사본을 생성합니다.
  • 이전 상태를 보존하며, 상태 변경을 추적하기 용이합니다.
  • 여러 개의 참조가 있을 때, 한 객체의 변경은 다른 참조에 영향을 주지 않습니다.
  • 불변 객체는 메모리 사용량이 효율적이고, 함수형 프로그래밍에서 불변성을 강조하는 경향이 있습니다.

불변 객체는 동시성 제어, 상태 관리, 예측 가능한 동작, 디버깅 등에서 이점을 제공할 수 있습니다. 그러나 변경이 필요한 경우에는 새로운 객체를 생성해야 하므로 일부 상황에서 성능이 저하될 수 있습니다. 따라서 상황에 맞게 가변 객체와 불변 객체를 사용하는 것이 중요합니다.

profile
지치지 않는 백엔드 개발자 김성주입니다 :)

0개의 댓글

관련 채용 정보