[python] 클래스의 멤버 변수 활용 방법

파이썬에서 클래스를 사용하여 객체를 만들면 해당 객체는 클래스의 멤버 변수를 활용할 수 있습니다. 멤버 변수는 해당 클래스의 모든 인스턴스에서 공유되는 변수이며, 이를 통해 각 객체끼리 데이터를 주고받을 수 있습니다. 이번 포스트에서는 파이썬 클래스의 멤버 변수를 어떻게 활용하는지에 대해 알아보겠습니다.

멤버 변수 선언과 접근

class Car:
    def __init__(self, brand, model):
        self.brand = brand
        self.model = model

car1 = Car("Tesla", "Model S")
print(car1.brand)  # "Tesla" 출력
print(car1.model)  # "Model S" 출력

위 예시에서 brandmodelCar 클래스의 멤버 변수로 선언되었습니다. __init__ 메서드에서 self를 사용하여 이들을 초기화하고, 객체를 생성할 때 매개변수를 전달하여 값을 할당했습니다. 그 후에는 car1.brandcar1.model을 통해 해당 객체의 멤버 변수에 접근할 수 있습니다.

멤버 변수 수정

멤버 변수는 객체가 생성된 이후에도 수정할 수 있습니다.

car2 = Car("Toyota", "Corolla")
print(car2.brand)  # "Toyota" 출력

car2.model = "Camry"
print(car2.model)  # "Camry" 출력

위 예시에서 car2 객체의 model 멤버 변수를 변경했습니다.

클래스 변수 vs 멤버 변수

클래스 변수는 해당 클래스의 모든 인스턴스가 공유하는 변수입니다. 반면에 멤버 변수는 각 인스턴스마다 별도로 가지는 변수입니다.

class Dog:
    species = "Canis familiaris"  # 클래스 변수

    def __init__(self, name, breed):
        self.name = name  # 멤버 변수
        self.breed = breed  # 멤버 변수

위 예시에서 speciesDog 클래스의 클래스 변수이며, namebreed는 해당 클래스의 멤버 변수입니다.

멤버 변수를 활용하여 클래스의 객체 간에 데이터를 교환하거나 조작할 수 있습니다. 이를 통해 객체 지향 프로그래밍의 핵심인 캡슐화와 상속을 효과적으로 구현할 수 있습니다.

이상으로 멤버 변수의 활용 방법에 대해 알아보았습니다. 멤버 변수를 적절히 활용하여 객체의 상태를 표현하고, 객체 간의 상호작용을 구현하는 데 활용할 수 있습니다.