관리 메뉴

Life goes slowly...

[Python] 파이썬의 상속및 다중상속 - Inheritaance 본문

프로그래밍/Python

[Python] 파이썬의 상속및 다중상속 - Inheritaance

빨강소 2020. 8. 5. 10:11
728x90
반응형

파이썬의 상속(Inheritance)

Python class에서 상속은, 물려주는 class(Super Class, Parent Class)의 내용(속성과 method)을 물려받는 클래스(sub Class, Child class)가 가지게 되는 속성을 말합니다. 대부분 자식 파이썬 class를 선언할 때 소괄호로 부모 파이썬 class를 포함시킵니다. 그러게 되면 자식 파이썬 class에서는 부모 파이썬 class 속성과 method는 기재하지 않아도 포함을 하게 됩니다.

class 부모클래스:
    ...내용...

class 자식클래스[부모클래스]:
    ...내용...

 

파이썬의 메서드 오버라이딩(Method overriding)

파이썬 메서드 오버라이딩은 부모 class의 메서드를 자식 class에서 재정의 하는 것을 말하며, 그중에서도 부모 class의 메서드도 수행하고, 자식 class의 메서드의 내용도 함께 출력하기를 원하는데, 그럴 때는 super()라는 키워드를 사용하면 자식 class 내에 코드에서도 부모 class를 호출이 가능합니다.

class Korea(City):

    ... 생략

    def show(self):
        super().show()
        print(
            """
            국가의 이름은 {} 입니다.
            국가의 인구는 {} 입니다.
            국가의 수도는 {} 입니다.
            """.format(self.name, self.population, self.capital)
        )

    ... 생략
>>> from inheritance import *
>>> a = Korea('대한민국', 50000000, '서울')
>>> a.show()
국가 클래스의 메소드입니다.

            국가의 이름은 대한민국 입니다.
            국가의 인구는 50000000 입니다.
            국가의 수도는 서울 입니다.

>>> 

 

파이썬의 다중 상속

C# 또는 Java 프로그래밍 같은 경우에는 다중 상속이 불가능한 언어입니다. 하지만 Python 경우에는 C++과같이 다중 상속이 가능한 프로그램언어입니다.

python
    class 부모클래스1:
        ...내용...

    class 부모클래스2:
        ...내용...

    class 자식클래스(부모클래스1, 부모클래스2):
        ...내용...
728x90
반응형
Comments