Python

[Python] 클래스 상속

주댕이 2024. 1. 12. 17:25

# 클래스 상속

  • 기존 클래스를 기반으로 새로운 클래스를 정의하는 개념
  • 코드 재사용과 계층 구조의 정의를 가능하게 한다.
  • 새로운 클래스가 이미 존재하는 클래스의 속성과 메서드를 상속받아 사용하는 것
# 부모 클래스에서 상속받는 자식 클래스를 선언하는 형식
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