[파이썬(Python)]-추상 클래스

배병진·2023년 6월 29일
0

개인공부-Python

목록 보기
9/22

추상 클래스란?

  • 내부에 구현되지 않은 메소드를 한가지 이상 가지고 있을 경우 추상클래스라 부른다.
  • 구현이 되어있지 않기 때문에 자식 클래스에서 반드시 구현 해주어야 한다.

추상 클래스를 사용하는 이유

  • 부모 클래스에서 꼭 만들었으면하는 메소드를 강제하기 위해서

추상클래스를 사용하기 위해 필요한 내용

  • @abstractmethod
  • from abc import *
  • metaclass=ABCMeta
  • 반드시 abc 모듈과 metaclass=ABCMeta, @abstractmethod를 써야한다.
  • 추상 매소드를 구현한 클래스만 객체를 생성할 수 있다.
from abc import *

class test(metaclass=ABCMeta):
	#추상 메소드
    @abstractmethod
    def math(self):
    	pass
    #추상 메소드
	@abstractmethod
	def korea(self):
    	pass
    #일반 메소드    
	def science(self):
    	print('과학점수 : 0')

##자식 클래스
class school(test):
	def math(self):
    print('점수: 10')

##자식 클래스
class mdschool(test):
	def math(self):
    print('점수: 20')
    
    def korea(test):
    print('점수: 20')
    
##객체생성
##School =school() > error
##Test = test() > error
Mdschool = mdschool() // math,korea를 구현했기 때문에 객체 생성 가능

##재정의한 추상 메소드
Mdschool.math()
Mdschool.korea()

##부모 클래스 메소드
Mdschool.science()
profile
history and study

0개의 댓글