[Python] 추상클래스, 추상메서드

JinUk Lee·2025년 2월 27일

python 개념 공부

목록 보기
10/14

추상클래스, 추상메서드란?

추상클래스는 구현되지 않은 메서드를 가진 클래스를 말한다.

여기서 구현되지 않은 메서드가 추상메서드가 된다.

그렇다면 왜 이러한 구조를 만드는 것일까?

추상클래스의 구조


from abc import *

class Keyboard(metaclass=ABCMeta):
    @abstractmethod
    def btn1(self):
        pass
        
    @abstractmethod
    def btn2(self):
        pass

class Rogitec(Keyboard):
	def btn1(self):
    	print("Red Light")
        
    def btn2(self):
        print("Green Light")
        
class SanSung(Keyboard):
	def btn1(self):
    	print("Yellow Light")
        
    def btn2(self):
        print("White Light")

추상클래스의 구조는 위와 같다.

추상클래스 Keyboard 를 만들고 추상메서드 btn1, btn2를 만들었다.

키보드에서 버튼1, 버튼2를 누른다는 행위를 나타내는 메소드이다.

그랬을때 키보드 업체별로 결과가 다 다르기 때문에 자식클래스에서 메소드를 구현해준다.

추상메소드를 구현하지 않아도 에러가 발생하지는 않지만 객체를 생성하려고 하면 에러가 발생한다.

추상클래스의 용도

  • 메서드와 필드를 통일시켜서 유지보수성을 높일 수 있음

  • 새로운 클래스 생성시 추상화에 도움이 됨

결국 추상클래스의 용도는 일종의 규격이나 기준을 만드는 것이다.

어떠한 실체 클래스를 만들 때, 필드나 메서드는 이렇게 만드세요 하고 참고하는 용도인 것이다.

profile
개발자 지망생

0개의 댓글