Python 추상클래스 만들기

2025. 2. 3. 13:30·Python

추상 클래스 만들기

import abc

class BaseClass(metaclass=abc.ABCMeta):
    @abc.abstractmethod
    def run(self):
        pass

## 아래처럼 
class BaseClass:
    __metaclass__ = abc.ABCMeta
    @abc.abstractmethod
    def run(self):
        pass

class ChildClass(BaseClass):
    def run(self):
        print("hello world!")

a = ChildClass()

위와 같이 metaclass로 해당 클래스가 추상 클래스라는 것을 명시한다.

이후 추상클래스로 쓰고 싶은 메서드에 abstractmethod 데코레이터를 달면 된다.

만약 상속받는 클래스에서 추상클래스를 구현하지 않으면 아래와 같이 에러가 뜬다.

Traceback (most recent call last):
  File "/var/task/main.py", line 12, in <module>
    a = ChildClass()
TypeError: Can't instantiate abstract class ChildClass with abstract method run

'Python' 카테고리의 다른 글

Python에서 멀티 스레드를 사용하지 않는 이유(Java와 비교, GIL)  (0) 2025.02.03
Python WSGI 서버 직접 만들어보기  (0) 2025.02.03
Python WSGI란?  (0) 2025.02.03
'Python' 카테고리의 다른 글
  • Python에서 멀티 스레드를 사용하지 않는 이유(Java와 비교, GIL)
  • Python WSGI 서버 직접 만들어보기
  • Python WSGI란?
우띵이
우띵이
코딩해요~
  • 우띵이
    ChODING
    우띵이
  • 전체
    오늘
    어제
    • 분류 전체보기 (11)
      • JVM (6)
        • Java (4)
        • Kotlin (2)
      • Python (4)
      • JavaScript (0)
      • Computer Science (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    WSGI
    CS
    jdk21
    computer science
    java
    Spring
    concurrency
    Virtual Thread
    hash
    kotlin
    Metaclass
    Thread
    complement
    synchronize
    Python
    spring security
    CORS
    Monitor
    binary
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
우띵이
Python 추상클래스 만들기
상단으로

티스토리툴바