Python_7-2

사유지

  • 계급 유산

    • 사유지

      • 두 클래스 간의 부모-자식 관계 구축
    • 부모에 정의된 속성이나 메서드를 사용하거나 오버라이딩(overriding)하여 사용 => 코드 재사용성을 높이고 클래스 간의 계층적 관계를 활용

  • 상속 관련 함수 및 메서드

    • isinstance(객체, 클래스 정보)

      • classinfo의 인스턴스 또는 하위 클래스인 경우 참
    • issubclass(클래스, 클래스 정보)

      • 클래스가 classinfo의 하위 클래스인 경우 참
      • classinfo는 클래스 객체의 튜플일 수 있습니다. classinfo의 모든 요소를 ​​확인하십시오.
    • 훌륭한()

      • 자식 클래스에서 부모 클래스를 사용하고자 할 때 사용
  • 재정의 방법

    • 상속된 메서드 재정의

      • 상속된 클래스에서 같은 이름의 메서드로 재정의

      • 수퍼 클래스 메소드를 실행하려면 수퍼를 사용하십시오.

        class Person:
          def __init__(self, name):
              self.name = name
        
          def talk(self):
              print(f'반갑습니다. {self.name}입니다.')
        
        # 자식 클래스-Professor
        class Professor(Person):
          def talk(self):
              print(f'{self.name}일세.')
        
        # 자식 클래스-Student
        class Student(Person):
          def talk(self):
              super().talk()
              print(f'저는 학생입니다.')
        
        p1 = Professor('김교수')
        p1.talk() # 김교수일세.
        
        s1 = Student('이학생')
        s1.talk() # 반갑습니다. 이학생입니다.
              # 저는 학생입니다.
  • 다중 상속

    • Python은 둘 이상의 클래스에서 상속할 수 있습니다.
    • 속성이나 메소드가 중복될 경우 상속 순서에 따라 결정