클래스의 속성과 메서드를 물려받는 상속
상속(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
메서드를 재정의(오버라이딩)
하여 강아지의 특성을 표현합니다.
Mission
0 / 1
빈칸에 들어갈 가장 적절한 단어는 무엇일까요?
객체 지향 프로그래밍에서 상속은 코드의 을 높입니다.
속도
메모리 사용량
재사용성
정합성
가이드라인
AI 튜터
배포
디자인
업로드
수업 노트
즐겨찾기
도움말
코드 에디터
코드 실행
코드 생성
실행 결과