Python/Python 이론
파이썬 : 클래스와 객체
P_eli
2024. 1. 21. 22:01
728x90
반응형
파이썬의 강력한 특징 중 하나인 객체지향 프로그래밍에 대해 이야기해보려고 합니다. 파이썬에서는 클래스와 객체를 통해 객체지향 프로그래밍을 지원하고 있어, 코드를 더 모듈화하고 재사용성을 높일 수 있습니다.
클래스란 무엇인가요?
클래스는 데이터와 기능을 함께 묶어놓은 것으로, 객체를 생성하는 템플릿입니다. 예를 들어, 자동차 클래스는 자동차 객체를 생성하기 위한 틀이 되며, 속성으로는 색상, 모델, 속도 등이 있을 수 있습니다. 또한, 메서드로는 주행, 정지, 경적 울리기 등의 동작을 정의할 수 있습니다.
class Car:
def __init__(self, color, model):
self.color = color
self.model = model
self.speed = 0
def accelerate(self, amount):
self.speed += amount
print(f"The car is now moving at {self.speed} km/h.")
def brake(self):
self.speed = 0
print("The car has come to a stop.")
# 클래스를 기반으로 객체 생성
my_car = Car(color="blue", model="sedan")
객체는 무엇인가요?
객체는 클래스의 인스턴스로, 클래스에서 정의한 속성과 메서드를 가지고 있습니다. 위의 예시에서 my_car는 Car 클래스의 인스턴스로서, 색상이나 모델과 같은 속성을 가지고 있습니다. 또한, accelerate나 brake와 같은 메서드를 호출할 수 있습니다.
# 객체의 속성에 접근
print(f"My car is a {my_car.color} {my_car.model}.")
# 객체의 메서드 호출
my_car.accelerate(50)
my_car.brake()
상속과 다형성
파이썬의 객체지향 프로그래밍에서는 상속과 다형성도 지원됩니다. 상속을 통해 기존 클래스의 속성과 메서드를 재사용하고, 다형성을 통해 여러 클래스를 하나의 인터페이스로 다룰 수 있습니다.
class ElectricCar(Car):
def __init__(self, color, model, battery_capacity):
super().__init__(color, model)
self.battery_capacity = battery_capacity
def charge(self):
print("The electric car is charging.")
# ElectricCar 클래스는 Car 클래스를 상속받음
my_electric_car = ElectricCar(color="silver", model="SUV", battery_capacity=500)
# 기존의 메서드 사용 가능
my_electric_car.accelerate(60)
# 새로운 메서드 호출
my_electric_car.charge()
파이썬의 객체지향 프로그래밍을 통해 코드의 가독성을 높이고 유지보수를 쉽게 할 수 있습니다.
728x90
반응형