PYTHON - 클래스 고급(Chapter 8-47. 상속)

2025. 3. 17. 14:29·Python

 

📚 Chapter 8-6. 상속

1️⃣ 상속의 개념

  • 상속은 기존에 작성된 클래스(부모 클래스)의 속성과 메서드를 새로운 클래스(자식 클래스)에서 물려받아 사용하는 개념입니다.
  • 코드를 재사용하고, 확장성이 높은 프로그램을 설계할 수 있도록 도와줍니다.

2️⃣ 다중 상속

  • 다중 상속은 여러 부모 클래스로부터 속성과 메서드를 물려받는 방식입니다.
  • 자식 클래스는 부모 클래스의 속성과 메서드를 자유롭게 사용할 수 있습니다.
class Parent:
    def __init__(self):
        self.value = "테스트"  # 인스턴스 변수 초기화
        print("Parent 클래스의 __init__() 메소드가 호출되었습니다.")

    def test(self):
        print("Parent 클래스의 test() 메소드입니다.")

class Child(Parent):
    def __init__(self):
        super().__init__()  # 부모 클래스의 생성자 호출
        print("Child 클래스의 __init__() 메소드가 호출되었습니다.")

child = Child()
child.test()  # 부모 클래스의 메서드 호출
print(child.value)  # 부모 클래스에서 초기화된 인스턴스 변수 출력

📋 출력 결과

Parent 클래스의 __init__() 메소드가 호출되었습니다.
Child 클래스의 __init__() 메소드가 호출되었습니다.
Parent 클래스의 test() 메소드입니다.
테스트

⚡ 포인트

  • Child 클래스는 Parent 클래스를 상속받아, 부모 클래스의 변수와 메서드를 사용할 수 있습니다.
  • super()를 사용하여 부모 클래스의 __init__() 메서드를 호출하면, 부모 클래스의 초기화 코드가 실행됩니다.

✅ 이해도 체크리스트

  1. 상속의 가장 큰 이유는 무엇인가요?
    • 정답: 코드 재사용성과 확장성 향상
    • 설명: 이미 작성된 부모 클래스의 코드(속성과 메서드)를 자식 클래스에서 그대로 사용할 수 있어 코드 중복을 줄이고 유지보수를 용이하게 합니다.
  2. 자식 클래스는 어떻게 만들어지나요?
    • 정답: 부모 클래스를 상속하여 정의합니다. class 자식클래스(부모클래스):
    • 설명: 자식 클래스는 class Child(Parent): 형식으로 작성하여 부모 클래스의 기능을 상속받습니다.
  3. super() 함수는 무엇인가요?
    • 정답: 부모 클래스의 메서드를 호출하기 위해 사용합니다.
    • 설명: super()는 자식 클래스에서 부모 클래스의 메서드(__init__() 등)를 호출할 때 사용되며, 코드의 가독성을 높이고 유지보수를 쉽게 만들어줍니다.
  4. 자식 클래스에서 부모 클래스의 메서드를 사용할 수 있나요?
    • 정답: 네, 부모 클래스에서 정의된 메서드는 자식 클래스에서 자유롭게 사용할 수 있습니다.
    • 설명: 자식 클래스는 상속받은 부모 클래스의 모든 메서드와 변수에 접근할 수 있습니다.
  5. Child 클래스가 Parent 클래스의 메서드를 오버라이드하고 싶다면 어떻게 해야 하나요?
    • 정답: 자식 클래스에서 부모 클래스와 동일한 이름의 메서드를 새롭게 정의하면 됩니다.
    • 설명: 이렇게 하면 부모 클래스의 메서드 대신, 자식 클래스에서 정의한 메서드가 호출됩니다. 이를 '메서드 오버라이딩'이라고 합니다.
  6. Child 클래스에서 부모 클래스의 __init__() 메서드가 자동으로 호출되나요?
    • 정답: 아니요, 자동으로 호출되지 않으며, super().__init__()을 통해 명시적으로 호출해야 합니다.
    • 설명: 파이썬에서는 부모 클래스의 생성자가 자동으로 호출되지 않기 때문에 super()로 직접 호출해주어야 합니다.

'Python' 카테고리의 다른 글

PYTHON - 클래스 고급(Chapter 8-46. 프라이빗 변수)  (0) 2025.03.17
PYTHON - 클래스 고급 (Chapter 8-45. 클래스 변수와 메소드)  (0) 2025.03.17
PYTHON - 클래스 고급 (Chapter 8-45. 인스턴스와 특수 메소드)  (0) 2025.03.17
PYTHON - 클래스 고급(Chapter 8-44. 생성자와 메소드)  (0) 2025.03.17
PYTHON - 클래스 고급 (Chapter 8-43. 객체와 클래스 선언하기)  (0) 2025.03.17
'Python' 카테고리의 다른 글
  • PYTHON - 클래스 고급(Chapter 8-46. 프라이빗 변수)
  • PYTHON - 클래스 고급 (Chapter 8-45. 클래스 변수와 메소드)
  • PYTHON - 클래스 고급 (Chapter 8-45. 인스턴스와 특수 메소드)
  • PYTHON - 클래스 고급(Chapter 8-44. 생성자와 메소드)
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (807)
      • Python (32)
      • 프로젝트 (116)
      • 과제 (25)
      • Database (40)
      • 멘토링 (11)
      • 특강 (37)
      • 기술블로그 (42)
      • 기술블로그-Fastapi편 (33)
      • 기술블로그-Django편 (154)
      • 기술블로그-Flask편 (36)
      • AI 분석 (5)
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (77)
      • Fastapi (16)
      • 연예 (14)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    livebroadcast
    trumpmuskclash
    smartphonedurability
    homebartrend
    travel ban
    newpoliticalparty
    classaction
    titaniumcase
    life reflection
    btsreunion
    btscomeback
    lawsuitculture
    global politics
    chinanightlife
    hotcoffeecase
    basalcellcarcinoma
    btsdischarge
    chatgpterror
    youngprofessionals
    americanlaw
    RM
    college reunions
    btsjungkook
    americaparty
    remittance
    gpterror
    bts
    뷔
    self-growth
    urbantrends
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
PYTHON - 클래스 고급(Chapter 8-47. 상속)
상단으로

티스토리툴바