[시바이누의 코딩일기 10화] class를 상속한다고? 자식 클래스는 또 뭐야?
안녕하세요, 시바이누 칸이에요!
지난 시간엔 class(클래스)를 배웠죠? 오늘은 그 클래스의 능력을 물려받는 방법, 즉 상속(inheritance)에 대해 알아볼 거예요!
상속이란?
새로운 클래스를 만들 때, 이미 만든 클래스를 재사용할 수 있어요.
이게 바로 “상속”이에요!
예: 강아지(Dog) 클래스를 상속받아 서비스견(ServiceDog)을 만들 수 있어요.
예시: 기본 Dog 클래스
class Dog:
def __init__(self, name):
self.name = name
def bark(self):
print(self.name + "가 멍멍 짖어요!")
이제 상속받은 자식 클래스 만들기
class ServiceDog(Dog): # Dog 클래스를 상속받음
def guide(self):
print(self.name + "가 안내 중입니다!")
이제 ServiceDog는 bark()도 쓰고, guide()도 가질 수 있어요!
dog = ServiceDog("칸")
dog.bark() # 부모 클래스 기능
dog.guide() # 자식 클래스 고유 기능
→ 출력:
칸가 멍멍 짖어요!
칸가 안내 중입니다!
super()로 부모 기능 확장하기
부모 클래스의 __init__()도 쓰고, 자식만의 설정도 추가하고 싶을 땐?
class ServiceDog(Dog):
def __init__(self, name, level):
super().__init__(name) # 부모 클래스 초기화
self.level = level
def info(self):
print(f"{self.name}는 레벨 {self.level}의 안내견입니다.")
sdog = ServiceDog("칸", 5)
sdog.bark()
sdog.info()
→ 출력:
칸가 멍멍 짖어요!
칸는 레벨 5의 안내견입니다.
시바이누 칸의 상속 정리!
| 개념 | 설명 |
|---|---|
| 상속 | 부모 클래스를 자식 클래스가 이어받는 것 |
| super() | 부모의 기능을 호출할 때 사용 |
| 오버라이딩 | 자식 클래스에서 부모 메서드를 재정의 |
오늘의 시바이누 칸
“이제 난 단순한 강아지가 아니야. 클래스도, 상속도 마스터한 안내견이야!”

다음 편 예고:
[시바이누의 코딩일기 11화] 클래스 총정리! 직접 만들어보는 미니 클래스 실습
궁금한 점은 댓글이나 방명록에 남겨줘요! 다음 편에서 반영할게요!
'시바이누 코딩생활' 카테고리의 다른 글
| [시바이누의 코딩일기 9화] class? 시바이누도 객체가 될 수 있어?! (2) | 2025.05.01 |
|---|---|
| [시바이누의 코딩일기 8화] 함수에 여러 개 값 넣을 땐 어떻게 할까? 기본값은 뭘까? (4) | 2025.04.30 |
| [시바이누의 코딩일기 7화] 함수를 만든다고? def가 도대체 뭐야? (10) | 2025.04.28 |
| [시바이누의 코딩일기 6화] 딕셔너리? 튜플? 리스트? 전부 어디에 써야하지? (5) | 2025.04.25 |
| [시바이누의 코딩일기 5화] for 반복문은 언제 쓸까? 리스트랑 찰떡 궁합! (9) | 2025.04.24 |








