본문 바로가기
카테고리 없음

파이썬 강의: 상속을 활용한 객체 지향 프로그래밍

by 뷰티풀스택 2023. 7. 10.
반응형

상속은 객체 지향 프로그래밍에서 중요한 개념 중 하나입니다. 상속은 이미 존재하는 클래스를 기반으로 새로운 클래스를 만드는 방법입니다. 이를 통해 코드의 재사용성이 증가하고 코드의 구조가 개선됩니다.

 

부모 클래스(또는 슈퍼 클래스)에서 정의한 속성과 메서드를 자식 클래스(또는 서브 클래스)들이 상속받아 사용할 수 있습니다. 자식 클래스는 필요한 경우에 이러한 속성과 메서드를 추가하거나 수정하여 자신의 특정한 동작을 구현할 수 있습니다.

 

아래는 Python에서 상속을 구현하는 간단한 예제 코드입니다. 클래스 `Animal`은 기본 동물의 특성을 가지고 있으며, `Dog`와 `Cat` 클래스는 `Animal` 클래스를 상속받아 각각 독특한 특성을 추가합니다.

 

```python

class Animal:

    def __init__(self, name):

        self.name = name

 

    def speak(self):

        print("동물이 소리를 냅니다.")

 

class Dog(Animal):

    def __init__(self, name, breed):

        super().__init__(name)

        self.breed = breed

 

    def speak(self):

        print("멍멍!")

 

class Cat(Animal):

    def __init__(self, name):

        super().__init__(name)

 

    def speak(self):

        print("야옹!")

 

dog = Dog("맥스", "불독")

cat = Cat("마이크")

 

print(dog.name)  # 출력: 맥스

print(dog.breed)  # 출력: 불독

dog.speak()  # 출력: 멍멍!

 

print(cat.name)  # 출력: 마이크

cat.speak()  # 출력: 야옹!

```

 

위의 예제에서는 `Animal` 클래스를 정의한 후 `Dog`와 `Cat` 클래스에서 이를 상속받습니다. 자식 클래스는 생성자 `__init__` 메서드를 재정의하여 자신만의 속성을 추가하고, `speak` 메서드를 재정의하여 자신만의 메시지를 출력합니다. 상속 받은 부모 클래스의 속성 `name`은 자식 클래스에서도 사용할 수 있습니다.

 

이와 같이 클래스 상속을 통해 자식 클래스는 부모 클래스의 속성과 메서드를 재사용할 수 있고, 필요한 경우에 이를 확장하거나 수정하여 새로운 기능을 추가할 수 있습니다. 이는 코드 작성의 효율성을 높여주고, 코드의 가독성과 유지보수성을 향상시킵니다.

 

Python 공식 문서에서 상속에 관한 자세한 내용을 찾을 수 있습니다: [Python 상속 문서](https://docs.python.org/ko/3/tutorial/classes.html#inheritance)

반응형

댓글