AIFFEL 2022.01.05

Jinoung Kim·2022년 1월 6일

Python

추상 클라스 (abstract class)

  • 추상 클래스는 파생 클래스가 반드시 구현해야 하는 메서드를 정해줄 수 있다.
  • 추상 클래스의 추상 메서드를 모두 구현했는지 확인하는 시점은 파생 클래스가 인스턴스를 만들 때이다.
  • 추상 클래스는 인스턴스로 만들 수가 없다.
from abc import *      #abc : abstract class
#import abc 하면 meataclass=abc.ABCMeta로 해야함.

class StudentBase(metaclass=ABCMeta):
    @abstractmethod
    def study(self):
        pass #추상클라스의 메서드는 호출될 일이 없다.
 
    @abstractmethod
    def go_to_school(self):
        pass
 
class Student(StudentBase):
    def study(self):
        print('공부하기')
 
    def go_to_school(self):
        print('학교가기')
 
james = Student() #파생클래스에서 추상클라스의 모든 메서드가 만들어졌는지 확인하고 없으면 에러 발생
james.study()
james.go_to_school()

0개의 댓글