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 |