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()