패스잇
백엔드 개발 · 기초

Python의 mutable과 immutable 객체의 차이점을 설명해주세요.

힌트 · 리스트 vs 튜플, 딕셔너리 vs frozenset을 비교해보세요.

가변불변메모리 주소객체수정

모범답안

Python에서 mutable 객체와 immutable 객체의 가장 큰 차이점은 객체가 생성된 후 값을 변경할 수 있는지 여부입니다.

Mutable 객체는 값을 변경할 수 있습니다. 예를 들어 리스트(list)나 딕셔너리(dictionary)가 있습니다. 리스트에 요소를 추가하거나 딕셔너리의 값을 변경해도 객체의 메모리 주소는 바뀌지 않습니다.

반면, immutable 객체는 값을 변경할 수 없습니다. 튜플(tuple), 문자열(string), 숫자(int, float) 등이 있습니다. immutable 객체의 값을 변경하려고 하면, 기존 객체를 수정하는 것이 아니라 새로운 객체를 생성합니다. 따라서 메모리 주소가 변경됩니다.

이러한 차이점은 함수 인자로 객체를 전달할 때 중요한 영향을 미칩니다. mutable 객체를 함수 내에서 변경하면 원본 객체도 변경되지만, immutable 객체는 함수 내에서 변경해도 원본 객체는 변하지 않습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 Python 면접 질문

← Python 면접 질문 전체 보기