# 클래스 상속
- 기존 클래스를 기반으로 새로운 클래스를 정의하는 개념
- 코드 재사용과 계층 구조의 정의를 가능하게 한다.
- 새로운 클래스가 이미 존재하는 클래스의 속성과 메서드를 상속받아 사용하는 것
# 부모 클래스에서 상속받는 자식 클래스를 선언하는 형식
class 자식 클래스 이름(부모 클래스 이름):
<코드 블록>
class Animal:
def __init__(self, name):
self.name = name
def speak(self):
pass # 이 메서드는 하위 클래스에서 구현될 것임
class Dog(Animal):
def speak(self):
return f"{self.name} says Woof!"
class Cat(Animal):
def speak(self):
return f"{self.name} says Meow!"
dog_instance = Dog("Buddy")
print(dog_instance.name) # Buddy
print(dog_instance.speak()) # Buddy says Woof!
cat_instance = Cat("Whiskers")
print(cat_instance.name) # Whiskers
print(cat_instance.speak()) # Whiskers says Meow!
- 'Animal' 클래스는 'name' 속성과 'speak' 메서드를 가지고 있다.
- 'Dog'와 'Cat' 클래스는 'Animal' 클래스를 상속받는다.
- 상속을 통해 'Dog'와 'Cat' 클래스는 'Animal' 클래스의 모든 속성과 메서드를 사용할 수 있게 된다.
- 새로운 클래스를 정의할 때, 클래스 이름 뒤 괄호 안에 기존 클래스의 이름을 넣어 상속을 선언한다.
# 클래스 Docstring
class Animal:
"""
The Animal class is a basic class representing a simple animal.
Attributes:
- name (str): A string representing the name of the animal.
Methods:
- speak(): A method to make the animal produce a sound.
"""
def __init__(self, name):
self.name = name
def speak(self):
"""
The speak method is a virtual method to make the animal produce a sound.
This method should be implemented in subclasses.
"""
pass # To be implemented in subclasses
print(Animal.__doc__)
# The Animal class is a basic class representing a simple animal.
#
# Attributes:
# - name (str): A string representing the name of the animal.
#
# Methods:
# - speak(): A method to make the animal produce a sound.
728x90
'Python' 카테고리의 다른 글
[NumPy] 배열 생성 (0) | 2024.01.17 |
---|---|
[Python] 가상 환경 사용하기 (2) | 2024.01.16 |
[Python] Docstring (0) | 2024.01.12 |
[Python] 리스트 컴프리헨션(List comprehension) (0) | 2024.01.12 |
[Python] break와 continue (0) | 2024.01.12 |