OCP를 지키기 위해서는 확장에는 열려 있어야 하지만 변경에는 닫혀 있어야 한다
class Car:
def __init__(self, brand, model, year):
self.brand = brand
self.model = model
self.year = year
def get_brand(self):
return self.brand
def get_model(self):
return self.model
def get_year(self):
return self.year
def engine_start(self):
pass
class ElectoronicCar(Car):
def __init__(self, brand, model, year, battery):
super().__init__(brand, model, year)
self.battery = battery
def engine_start(self):
"""Implement"""
def charge(self):
"""Implement"""
위 코드는 새로운 자동차 클래스를 만드는 코드 이다.
새로운 자동차 클래스를 만들며 기능을 추가해도 기존 코드에 영향을 미치지 않음