CODEDRAGON ㆍDevelopment/Python
추상클래스(abstract class) 형식
· 추상클래스는 {abc} 내장 패키지에서 기본이 되는 ABCMeta라는 Abstract Base Classe Meta클래스와 abstractmethod 인디케이터를 임포트해야 합니다.
· 추상클래스명에는 metaclass=ABCMeta 인자를 옵션으로 주고 추상메소드에는 @abstractmethod 장식자(어노테이션)을 붙여줍니다.
# Metaclass for defining Abstract Base Classes 임포트 from abc import ABCMeta
# A decorator indicating abstract methods 임포트 from abc import abstractmethod
# 추상 클래스 정의 class 추상클래스명(metaclass=ABCMeta):
def __init__(self): pass
@abstractmethod def 추상메소드1(self): pass
@abstractmethod def 추상메소드2(self): pass
|
자식 클래스에서 추상클래스의 추상메소드를 재정의하지 않은 경우 자식클래스의 객체 생성시 아래와 같은 Error가 발생합니다.
TypeError: Can't instantiate abstract class SmartCalculator with abstract methods sub |
'Development > Python' 카테고리의 다른 글
assert 구문 (0) | 2020.02.18 |
---|---|
반복자 객체 (0) | 2020.02.18 |
Python 접근 제한자 (Access Modifier) (0) | 2020.02.17 |
파이썬에서 객체의 attribute를 탐색하는 단계 (0) | 2020.02.17 |
클래스 변수(class variable), 인스턴스 변수(instance variable) (0) | 2020.02.17 |