추상클래스(abstract class)

아현·2023년 7월 19일
0

Python

목록 보기
6/6

출처

1. 추상클래스(abstarct class)란?


  • 추상클래스란 미구현 추상메소드를 한개 이상 가지며, 자식클래스에서 해당 추상 메소드를 반드시 구현하도록 강제합니다.

  • 상속받은 클래스는 추상메소드를 구현하지 않아도, import할 때까지 에러는 발생하지 않으나 객체를 생성할 시 에러가 발생합니다.

  • 추상클래스를 만들기 위한 형식은 아래와 같습니다.

    • 반드시 abc 모듈을 import 해야합니다.

    • 추상메소드는 생략하면 기본적인 클래스 기능은 동작합니다만, 추상메소드를 추가한 후에는 객체를 생성하면 에러가 발생합니다.



from abc import *
class 추상클래스명(metaclass=ABCMeta):

     @abstractmethod
        def 추상메소드(self):
            pass



2. 추상클래스(abstract class) 사용




from abc import *


class AbstractCountry(metaclass=ABCMeta):
    name = '국가명'
    population = '인구'
    capital = '수도'

    def show(self):
        print('국가 클래스의 메소드입니다.')

class Korea(AbstractCountry):

    def __init__(self, name,population, capital):
        self.name = name
        self.population = population
        self.capital = capital

    def show_name(self):
        print('국가 이름은 : ', self.name)




추상메소드(abstract method)


class AbstractCountry(metaclass=ABCMeta):

    ... 생략

    @abstractmethod
    def show_capital(self):
        print('국가의 수도는?')



profile
For the sake of someone who studies computer science

1개의 댓글

comment-user-thumbnail
2023년 7월 19일

뛰어난 글이네요, 감사합니다.

답글 달기