Python/Programming basic
상속과 예외처리_02.추상클래스와 isinstance
sonzwon
2022. 6. 30. 13:27
# 추상클래스
- abc모듈의 ABCMeta 클래스를 상속 받아 만든다. 이때, 반드시 metaclass=메타클래스 이름의 형태로 상속 받음
- 자신의 객체를 생성할 수 없음
- @abstractmethod 데코레이터를 사용하여 자신의 하위객체에게 특정 메소드 생성을 강제함
- 이름만 존재하고 내용은 없음
from abc import *
class abstract(metaclass=ABCMeta):
@abstractmethod
def method(self):
pass
class test(abstract): # 추상메소드를 상속받은 클래스
def method(self): # 하위객체는 상속받은 추상클래스의 메소드를 강제로 만들어야 함. 함수 정의하지 않으면 오류남
pass
- 추상메소드를 상속 받은 클래스에서 함수를 생성하지 않고 class test(abstract): 만 하면 오류남 pass
- 추상클래스와 추상메소드의 의미?? 하위클래스들에게 강제로 메소드를 만들게 함을 조건으로 주는 건데 상속시에 메소드를 빼먹는 것을 방지하기 위함이라고 함,,,
# isinstance
- 주어진 변수값이 클래스의 인스턴스인지 여부를 확인해주는 함수
isinstance(3, int) #int라는 클래스의 인스턴스인가?
#True