제수기 > Python > 추상클래스 Abstract

Eunbi Jo·2025년 1월 18일
0

제수기

목록 보기
74/90
제수기 - 제발 수업내용을 기억해라 / 단순수업정리 시리즈

추상클래스 Abstract Class

  • 추상메소드를 가진 클래스
  • 추상메소드는 자식클래스에서 반드시 오버라이드(재작성)해야 하는 메소드. 오버라이딩을 강제하는 메소드
  • 추상클래스는 인스턴스화 할수 없다.
  • 추상클래스는 abc모듈의 ABC클래스를 상속해서 작성한다.
  • 추상메소드는 abc모듈의 @abstractmethod데코레이터를 사용해서 정의한다. (메소드 몸통은 작성하지 않는다)

from abc import ABC, abstractmethod
@abstractmethod : 추상메소드 선언

추상메소드로 def calculate_margin이 자식클래스에 필수로 있도록 강제했다.

다형성

부모클래스의 공통메소드를 자식별로 재작성하게 되면, 여러 자식인스턴스를 모아서 관리할때 타입별 달리 작동시킬수 있다.

추상메소드로 꼭 쓰게 한 calculate_margin은 모두 return에 지정한 내용이 달랐지만, 다형성을 지니고 있다.

0개의 댓글