부모 클래스의 속성과 메소드를 물려받아 확장하는 **상속(Inheritance)**과 파이썬 연산자 동작을 직접 정의하는 **매직 메소드(Dunder Methods)**를 익힙니다.
1. 고급 OOP 용어 사전 (Glossary)
- Inheritance (상속): 부모 클래스의 모든 기능을 자식 클래스가 그대로 받아 재사용하고 필요에 따라 재정의(Method Overriding)하는 OOP 핵심 기능입니다.
super(): 부모 클래스의 생성자나 메소드를 자식 클래스 내부에서 명시적으로 호출해 주는 내장 함수입니다.- Dunder Methods (던더 매직 메소드):
__str__,__repr__,__len__,__eq__처럼 연산자나 내장 함수 호출 시 객체가 어떻게 반응할지 정의하는 메소드입니다. - ABC (Abstract Base Class):
abc모듈의@abstractmethod를 써서 자식 클래스가 특정 메소드를 반드시 구현하도록 강제하는 추상 클래스 표준입니다.
2. 상속 및 매직 메소드 활용 실습
from abc import ABC, abstractmethod
class Animal(ABC):
def __init__(self, name):
self.name = name
@abstractmethod
def make_sound(self):
pass
class Dog(Animal):
def make_sound(self):
return "멍멍!"
def __str__(self):
return f"강아지 이름: {self.name}"
dog = Dog("바둑이")
print(dog)
print(f"울음소리: {dog.make_sound()}")