프로그래밍/파이썬
[Python] 추상 클래스
고등어찌짐
2022. 4. 18. 22:07
추상 클래스는 부모 클래스에 미구현 메소드 ( 추상 메소드 ) 가 있고, 이걸 자식 클래스에서 꼭 구현해야하는 클래스를 말한다. 자식 클래스들이 꼭 실행하거나 override 해야하는 함수가 있을 때 사용할 수 있다. 또, 자식 클래스들이 공유할 수 있는 기본 클래스들의 공통된 정의를 내려주기떄문에 템플릿처럼 사용될 수 있어, template method pattern 과 함께 자주 사용된다. 코드 구현시에는 추상화를 지원해주는 abc (abstract base class) 모듈을 임포트해야 사용할 수 있다.
from abc import *
class CatBase(metaclass=ABCMeta):
@abstractmethod
def eat(self):
pass
@abstractmethod
def sleep(self):
pass
class Cat(CatBase):
def eat(self):
print('먹기')
def sleep(self):
print('잠자기')
#참조
When and Why to use abstract classes/methods? [closed]
https://stackoverflow.com/questions/3344816/when-and-why-to-use-abstract-classes-methods36.6 추상 클래스 사용하기
https://dojang.io/mod/page/view.php?id=2389