Immutable과 Mutable을 사전적으로 풀어보면 불변과 가변으로 풀어서 볼 수 있다.
그런데 python이나 프로그래밍 언어에서 이야기하는 Immutable과 Mutable은 어떤 것을 말하는 것일까? 무엇이 변하고 변하지 않는다는 것인지 생각하는 것이 필요할 것이다.
여기서 보편적으로 파이썬에서 말하는 것을 정리해보겠다.
파이썬의 모든 것의 구성은 객체이다. 그 객체는 mutable과 immutable로 구분한다.
- immutable : 숫자, 문자열, 튜플
- mutable : 리스트, 딕셔너리, Numpy의 배열
분류한 내용을 보면서 생각해보자 숫자 문자열 튜플은 값을 변경하지 못하고 리스트 딕셔너리 배열은 값을 변경하는 것이 가능하다는 것이다? 이 내용만 보면 이게 무슨 소리인가 할 수 있다고 생각한다. 여기서 주어가 빠졌기 때문에 생각의 오류가 생기게 된다.
여기서 말하는 것은 객체의 값이라는 주어를 생각하면서 보도록 한다.
1. mutable 객체
객체를 생성한 후 객체의 값을 수정 가능, 변수는 값이 수정된 같은 객체를 가리키게 됨
리스트, 딕셔너리, Numpy의 배열
2. immutable 객체
객체를 생성한후 객체의 값을 수정 불가능 변수는 해당 값을 가진 다른 객체를 가리키게 된다.
숫자, 문자열, 튜플
'ComputerScience' 카테고리의 다른 글
[3분 지식] WAS 란? - WEB server와 WAS (0) | 2022.08.11 |
---|---|
[3분 CS지식] Nginx 요약정리 (0) | 2022.07.17 |
[3분 CS지식] CORS (0) | 2022.05.18 |
[10분 CS지식] Hoisting ( const, var, let ) (0) | 2022.04.29 |
[10분 CS지식] 웹 브라우저의 요청 흐름 (0) | 2022.04.24 |