상속

어떤 클래스를 만들 때 다른 클래스의 기능을 그대로 가지고 올 수 있다.
이 때, 물려주는 클래스를 부모클래스(super class), 자식클래스(sub class)라고 한다.

상속을 이용하면 중복코드가 작성되는 것을 방지, 코드의 유지보수가 굉장히 수월해진다.

  • 상속법 (부모클래스 정의 후, 자식클래스 정의)
    class 부모클래스:
    class 자식클래스 (부모클래스):

다중상속

c# 또는 java는 다중상속이 불가능하다. 파이썬은 c++ 과 같이 다중상속이 가능하다.

  • 다중상속법
    class 부모클래스1:
    class 부모크래스2:
    class 자식클래스(부모클래스1, 부모클래스2):

.mro() 메소드

상속관계를 확인할 수 있는 메소드이다.

  • 사용법
    클래스명.mro()

오버라이딩

오버라이딩은 부모클래스의 메소드를 자식클래스에서 재정의 하는 것이다.

* 오버라이딩 예제

class Country:
    """Super Class"""

    name = '국가명'
    population = '인구'
    capital = '수도'

    def show(self):
        print('국가 클래스의 메소드입니다.')
        
class Korea(Country):
    """Sub Class"""

    def __init__(self, name,population, capital):
        self.name = name
        self.population = population
        self.capital = capital

    def show(self):
        print(
            """
            국가의 이름은 {} 입니다.
            국가의 인구는 {} 입니다.
            국가의 수도는 {} 입니다.
            """.format(self.name, self.population, self.capital)
        )
    ... 생략
    
    부모 클래스의 show()메소드는 무시되고 자식클래스의 show()메소드가 수행된다.

오버로딩

파이썬은 함수의 오버로딩이 지원되지 않는다.

profile
개발스터디

0개의 댓글