클래스의 속성과 메서드를 물려받는 상속
상속(Inheritance)
은 한 클래스가 다른 클래스의 속성과 메서드를 물려받는 기능을 말합니다.
이를 통해 기존 코드를 재사용하고 확장하여 프로그래밍의 효율성을 높일 수 있습니다.
파이썬에서는 클래스를 정의할 때, 괄호 안에 상속받을 클래스를 넣어 상속을 구현합니다.
상속 구조
class 자식클래스(부모클래스):
# 자식 클래스의 내용
위 코드에서 자식클래스
는 부모클래스
를 상속받습니다.
자식클래스
는 부모클래스
의 속성과 메서드를 사용할 수 있습니다.
부모클래스는 상위 클래스(Superclass)
또는 기본 클래스(Base class)
라고도 불립니다.
자식클래스는 하위 클래스(Subclass)
또는 파생 클래스(Derived class)
라고도 불립니다.
상속은 왜 사용할까요?
객체 지향 프로그래밍에서 상속은 다음과 같은 역할을 합니다.
-
코드 재사용
: 기존 클래스의 코드를 그대로 활용하여 중복을 줄일 수 있습니다. -
확장성
: 기존 클래스를 수정하지 않고도 새로운 기능을 추가하거나 기존 기능을 변경할 수 있습니다. -
계층적 구조
: 클래스 간의 계층을 형성해 프로그램 구조를 더 명확하게 만듭니다.
아래는 Animal
클래스를 상속받아 Dog
클래스를 정의하는 예시입니다.
상속 사용 예시
class Animal:
def __init__(self, name):
self.name = name
def speak(self):
return "소리를 냅니다."
class Dog(Animal):
def speak(self):
return f"{self.name}가 멍멍하고 짖습니다."
# 클래스 사용 예시
my_dog = Dog("바둑이")
print(my_dog.speak())
# '바둑이가 멍멍하고 짖습니다.' 출력
이 예제에서 Dog
클래스는 Animal
클래스로부터 상속받아 name
속성과 speak
메서드를 활용합니다.
그리고 speak
메서드를 재정의(오버라이딩)
하여 강아지의 특성을 표현합니다.
다음 내용이 궁금하다면?
코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!