본문으로 건너뛰기
실습하기

클래스의 속성과 메서드를 물려받는 상속

상속(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 강의를 등록해 주세요!