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

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

상속(Inheritance)은 한 클래스가 다른 클래스의 속성(attributes)과 메소드(methods)를 물려받는 것을 의미합니다.

상속을 통해 기존 코드를 재사용하고 확장하여 프로그래밍의 효율성을 높일 수 있습니다.


상속의 역할

  • 코드 재사용: 기존 클래스의 코드를 다시 사용하여 중복을 줄일 수 있습니다.

  • 확장성: 기존 클래스를 수정하지 않고 새로운 기능을 추가하거나 기존 기능을 변경할 수 있습니다.

  • 계층적 구조: 클래스 간의 계층을 형성해 프로그램의 구조를 명확하게 합니다.


상속 사용 예시

아래는 '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 메소드를 사용합니다.

Dog 클래스는 speak 메소드를 재정의(오버라이딩, Overriding)하여 강아지만의 행동을 나타냅니다.

다음 내용이 궁금하다면?

코드프렌즈 PLUS 멤버십 가입 or 강의를 등록해 주세요!