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
  • 전체
    오늘
    어제
    • 분류 전체보기 (787) N
      • Python (32)
      • 프로젝트 (110) N
      • 과제 (25)
      • Database (40)
      • 멘토링 (11)
      • 특강 (37)
      • 기술블로그 (41)
      • 기술블로그-Fastapi편 (33)
      • 기술블로그-Django편 (153)
      • 기술블로그-Flask편 (36)
      • AI 분석 (5)
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (77)
      • Fastapi (16)
      • 연예 (14)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바