티스토리 뷰

[abstract class: 추상클래스]



추상클래스란 미구현 추상메소드를 한개 이상 가지며, 

자식클래스에서 해당 추상 메소드를 반드시 구현하도록 강제한다.


상속받는 클래스는 부모클래스의 모든 추상메소드를 구현하지 않아도, import 할 때까지 에러는 발생하지 않으나

객체를 생성할 시 에러가 발생한다.


반드시 abc 모듈을 import 해야 합니다.


from abc import *


class Parents(metaclass=ABCMeta):
def __init__(self): ...

@abstractmethod
def foo(self): ...

@abstractmethod
def coo(self): ...

자식 클래스에서는 반드시 추상화 함수인 foo, coo 모두 정의해 줘야 한다.

class Child(Parents):
def __init__(self): ...

def foo(self):
pass

def coo(self):
pass

 foo, coo 가 정의되어 있지 않으면 자식 클래스의 인스턴스를 생성할때 에러가 발생한다.

















댓글