객체 파이썬 프로그램에서 데이터 값은 모두 객체(object) 및 객체 간의 관계로 표현된다. 객체는 특정 데이터 타입의 값을 컴퓨터 메모리 내부에 표현한 것이다. 각 객체는 정체성, 형, 값이라는 특징을 갖고 있다.
• 정체성(identity)은 각 객체를 구분해준다. 정체성은 객체가 저장된 컴퓨터 메모리 내에서의 위치(메모리 주소)로 생각할 수 있다.
• 객체의 타입은 객체가 표현할 수 있는 값 집합과 이 값에 수행할 수 있는 연산 집합을 명시한다.
• 객체의 값은 객체가 나타내는 값이다.
객체는 하나의 값을 저장한다. 예를 들어 int
형 객체는 1234
, 99
, 1333
등의 값을 저장할 수 있다. 서로 다른 객체가 같은 값을 저장할 수도 있다. 예를 들어 어떤 str
형 객체가 'hello'
값을 저장하고, 또 다른 str
형 객체도 똑같은 'hello'
값을 저장할 수 있다. 객체 형에 의해 정의된 어떠한 연산도 객체에 적용할 수 있다(다만 해당 객체에 정의된 연산만 적용할 수 있다). 예를 들어 int
형 객체 두 개를 곱할 수 있지만, str
형 객체 두 개는 곱할 수 없다.
객체 참조 객체 참조(object reference)는 그저 객체의 정체성(객체가 저장된 메모리 주소)을 명시적으로 표현한 것일 뿐이다. 파이썬 프로그램은 객체의 값에 접근하거나 객체 참조 자체를 조작하기 위해 객체 참조를 사용한다. 여기에 대해서는 나중에 다시 설명한다.