클래스 상속 탐구
이 단계에서는 객체 지향 프로그래밍 (OOP) 의 기본 개념인 클래스 상속에 대해 배우게 됩니다. 상속을 통해 기존 클래스 (부모 클래스) 의 속성과 메서드를 상속받는 새로운 클래스 (자식 클래스) 를 만들 수 있습니다. 이는 코드 재사용을 촉진하고 더 체계적이고 유지 관리 가능한 코드를 구축하는 데 도움이 됩니다.
Animal이라는 간단한 부모 클래스를 생성하는 것으로 시작해 보겠습니다.
## ~/project 디렉토리에 animal.py 라는 파일을 생성합니다.
class Animal:
def __init__(self, name):
self.name = name
def speak(self):
print("Generic animal sound")
VS Code 편집기를 열고 ~/project 디렉토리에 animal.py라는 새 파일을 만듭니다. 위의 코드를 복사하여 파일에 붙여넣습니다. 이 클래스에는 name 속성을 초기화하는 __init__ 메서드 (생성자) 와 일반적인 동물 소리를 출력하는 speak 메서드가 있습니다.
이제 Animal 클래스에서 상속받는 Dog라는 자식 클래스를 만들어 보겠습니다.
## animal.py 에 다음 코드를 추가합니다.
class Dog(Animal):
def speak(self):
print("Woof!")
위의 코드를 animal.py 파일에 추가합니다. Dog 클래스는 클래스 이름 뒤 괄호 안에 Animal을 지정하여 Animal로부터 상속받습니다. Dog 클래스는 또한 자체적인 특정 구현을 제공하기 위해 speak 메서드를 재정의합니다.
다음으로, Animal 클래스에서 상속받는 또 다른 자식 클래스인 Cat을 만들어 보겠습니다.
## animal.py 에 다음 코드를 추가합니다.
class Cat(Animal):
def speak(self):
print("Meow!")
위의 코드를 animal.py 파일에 추가합니다. Cat 클래스도 Animal로부터 상속받아 speak 메서드를 재정의합니다.
이제 이러한 클래스를 사용하기 위한 메인 프로그램을 만들어 보겠습니다.
## ~/project 디렉토리에 main.py 라는 파일을 생성합니다.
from animal import Animal, Dog, Cat
animal = Animal("Generic Animal")
dog = Dog("Buddy")
cat = Cat("Whiskers")
animal.speak()
dog.speak()
cat.speak()
~/project 디렉토리에 main.py라는 새 파일을 만들고 위의 코드를 복사하여 파일에 붙여넣습니다. 이 프로그램은 animal.py 파일에서 Animal, Dog, 및 Cat 클래스를 가져옵니다. 그런 다음 각 클래스의 인스턴스를 생성하고 해당 speak 메서드를 호출합니다.
프로그램을 실행하려면 VS Code 에서 터미널을 열고 ~/project 디렉토리로 이동합니다.
cd ~/project
그런 다음 python 명령을 사용하여 main.py 스크립트를 실행합니다.
python main.py
다음 출력을 볼 수 있습니다.
Generic animal sound
Woof!
Meow!
이는 Dog 및 Cat 클래스가 Animal 클래스에서 상속받아 speak 메서드의 자체적인 특정 구현을 제공하는 방법을 보여줍니다. 이것은 Python 에서 클래스 상속의 기본적인 예입니다.