[python] 추상클래스 (abstract method)

📝 1yangsh·2021년 9월 9일
0

추상클래스란?

  • 추상클래스란 미구현 추상메소드를 한개 이상 가지며, 자식클래스에서 해당 추상 메소드를 반드시 구현하도록 강제합니다.
  • 상속받은 클래스는 추상메소드를 구현하지 않아도, import할 때까지 에러는 발생하지 않으나 객체를 생성할 시 에러가 발생합니다.
  • 추상클래스를 만들기 위한 형식은 아래와 같습니다.
  • 반드시 abc 모듈을 import 해야합니다.
  • 추상메소드는 생략하면 기본적인 클래스 기능은 동작합니다만, 추상메소드를 추가한 후에는 객체를 생성하면 에러가 발생합니다.

추상클래스 예시

from abc import *

class 추상클래스명(metaclass=ABCMeta):

     @abstractmethod
     def 추상메소드(self):
         pass
from abc import * 

class Calculator(metaclass=ABCMeta):

	@abstractmethod
    def add(self, a, b):
    	return a + b

class Addition(Calculator):
	pass                     
                             
a = Addition() 				## <- 에러!!
    					## Addition 클래스에서 추상메소드인 add를 생성하지 않았기 때문에
    

reference

profile
개발 경험 저장소

0개의 댓글