[파이썬] 객체의 식별성, 상태, 동작

객체지향 프로그래밍에서 객체는 식별성, 상태, 동작을 가지는 개체입니다. 이러한 요소들은 객체의 특성과 행동을 정의하는 중요한 요소입니다. 이번 글에서는 Python에서 객체의 식별성, 상태, 동작에 대해 알아보겠습니다.

객체의 식별성

객체의 식별성은 객체가 유일하게 식별될 수 있는 특성입니다. 이는 객체를 구분하기 위한 고유한 식별자를 의미합니다. Python에서는 id() 함수를 사용하여 객체의 식별자를 확인할 수 있습니다.

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

person1 = Person("John", 25)
person2 = Person("John", 25)

print(id(person1))  # 출력: 140183628611152
print(id(person2))  # 출력: 140183628611120

위의 예시에서 person1person2는 같은 클래스로 생성되었지만 각각 다른 객체를 나타냅니다. 그렇기 때문에 식별자도 다릅니다.

객체의 상태

객체의 상태는 객체가 가지고 있는 데이터를 의미합니다. 객체는 클래스의 인스턴스로 생성되며, 초기화 메서드(__init__)를 통해 객체의 상태를 설정합니다. 상태는 객체의 속성(attribute)으로 표현되며, 이를 통해 객체의 상태를 나타낼 수 있습니다.

class Person:
    def __init__(self, name, age):
        self.name = name
        self.age = age

person = Person("John", 25)

print(person.name)  # 출력: John
print(person.age)   # 출력: 25

위의 예시에서 person 객체는 nameage라는 속성을 가지고 있습니다. 이를 통해 객체의 상태를 나타내고 접근할 수 있습니다.

객체의 동작

객체의 동작은 객체가 수행할 수 있는 행위를 의미합니다. 이는 객체의 메서드(method)로 표현되며, 객체의 상태를 변경하거나 특정 동작을 수행할 수 있습니다.

class Calculator:
    def add(self, a, b):
        return a + b

    def subtract(self, a, b):
        return a - b

calculator = Calculator()

print(calculator.add(5, 3))      # 출력: 8
print(calculator.subtract(7, 2)) # 출력: 5

위의 예시에서 calculator 객체는 add()subtract()라는 메서드를 가지고 있습니다. 이를 통해 객체의 동작(덧셈과 뺄셈)을 수행할 수 있습니다.

마무리

객체의 식별성, 상태, 동작은 객체지향 프로그래밍에서 중요한 개념입니다. Python을 사용하여 객체를 다루는 경우, 이러한 요소들을 고려하여 객체를 정의하고 사용해야 합니다. 이를 통해 코드의 가독성과 유지보수성을 향상시킬 수 있습니다.