파이썬은 객체 지향 언어이다. 파이썬에선 모든 것이 객체로 이루어져 있다.
객체는 value, type, identity 3가지 특성을 갖는다.
가변객체는 객체의 '값'을 바꿀 수 있고, 불변객체는 객체의 '값'을 바꿀 수 없다.
가변객체는 생선이후 값을 바꿀 수 있는 객체이다. 값을 바꾸려면 객체를 새롭게 생성해야 한다.
불변객체는 생성이후 값을 바꿀 수 없는 객체이다.
불변객체는 외부에서 임의로 내부의 값을 제어할 수 없기 때문에 객체의 자율성이 보장되고, 프로그램 내에서 변하지 않는 즉 고정된 부분이 많아짐으로써 프로그램 안정도를 높일 수 있다.
본 포스팅은 아래의 사이트를 참고하여 작성되었습니다.
https://velog.io/@kyle/%EB%B6%88%EB%B3%80-%EA%B0%9D%EC%B2%B4%EB%9E%80-Java-Immutable-Object