뮤트 개발일지

Python 상속 본문

Python

Python 상속

박뮤트 2021. 12. 20. 18:05

클래스의 상속: 한 클래스가 다른 클래스로부터 데이터 속성과 메소드를 물려받는 것

 

상속하는 클래스를 기반(base) 클래스 또는 상위(super) 클래스라고 하고

상속받는 클래스를 파생(derived)클래스 또는 하위(sub) 클래스라고 한다.

 

예)

class a:

    def method1(self, var1, var2):

        return result

 

class b(a):

    def method2(self, var1, var2):

        return result

===

class b:

    def method1(self, var1, var2):

        return result

    def method2(self, var1, var2):

        return result

 

상위 클래스의 기능을 불러오는 방법: super()

예)

class add1:

    def addition1(self, x, y):

        print(x+y)

 

class add2(add1):

    def addition2(self, x, y):

        super().addition1(x, y)

 

상위 클래스의 이름과 같은 메소드를 하위 클래스에 정의하는 방법

class a:

    def method(self, var):

        result1

 

class b(a):

    def method(self, var):

        different result1

=> a의 메소드는 무시되고 b는 새롭게 정의된 메소드를 사용한다.

 

* 다중상속(여러 개를 상속)받는 경우, 먼저 입력한 클래스를 상속받는다.