[실습 문제] 동물들의 공통 기능: "소리 내기"
목표: 추상 클래스를 만들고, 자식 클래스들이 특정 메서드를 반드시 구현하도록 강제하는 법을 배웁니다.
요구사항:
- 추상 클래스 생성: Animal 클래스를 만들고, abc 모듈을 사용하여 추상 클래스로 설정하세요.
- 추상 메서드 정의: 모든 동물은 소리를 내야 하므로, cry라는 추상 메서드를 만드세요. (내용은 적지 않습니다.)
- 자식 클래스 구현:
- Dog 클래스: cry 메서드에서 "멍멍!"을 출력하세요.
- Cat 클래스: cry 메서드에서 "야옹~"을 출력하세요.
- 강제성 확인: 만약 자식 클래스에서 cry를 만들지 않으면 에러가 발생하는 원리를 이해합니다.
[미션] 빈칸을 채워 추상화 코드를 완성하세요!
Python
from abc import ABC, abstractmethod
# 1. 추상 클래스 정의 (ABC를 상속받아야 함)
class Animal(________):
# 2. 자식들이 반드시 만들어야 할 추상 메서드 선언
@abstractmethod # 추상 메서드 데코레이
def cry(self):
pass
# 3. Animal을 상속받는 Dog 클래스
class Dog(________):
def ________(self): # 부모가 정한 이름을 그대로 사용해야 해요!
print("____________ ")
# 4. Animal을 상속받는 Cat 클래스
class Cat(________):
def ________(self):
print("야옹~ 고양이가 웁니다.")
# --- 실행 부분 ---
# 추상 클래스는 직접 객체를 만들 수 없어요! (에러 발생 확인용)
# my_animal = Animal()
# 자식 클래스로 객체 생성
choco = Dog()
nabi = Cat()
choco.cry()
nabi.cry()
출력 결과 (정답 예시)
Plaintext
멍멍! 강아지가 짖습니다.
야옹~ 고양이가 웁니다.
'Python' 카테고리의 다른 글
| 수료증 만들기 (0) | 2026.01.05 |
|---|---|
| 실습 과제: 수강생 관리 엑셀 만들기 (0) | 2026.01.05 |
| 철저한 보안의 Car 클래스 완성하기 (캡슐화) (0) | 2025.12.29 |
| [실습 문제] 나만의 학생 관리 시스템 만들기(상속) (0) | 2025.12.29 |
| 파이썬 다형성 우리 집 작은 음악회 (0) | 2025.12.29 |