클래서 상속 - Tirrilee/TechTalk GitHub Wiki

상속

  • 코드 중복을 최소화하기 위한 목적으로 사용된다.
  • 클래스 간에 상속관계에 놓이게 되면, 부모/자식 관계가 성립한다.
  • 자식 클래스는 부모 클래스의 모든 내역을 물려받는다.
  • Python은 다중상속을 지원한다 -> 직계 부모가 다수

예시

class Programer:
    def __init__(self, name):
        self.name = name

    def run(self):
        print('뜁니다.')

    def eat(self, food):
        print('{}을 먹습니다.'.format(food))

    def sleep(self):
        print('잠을 잡니다.')

    def coding(self):
        print('열심히 코딩을 합니다.')

class Desginer:
    def __init__(self, name):
        self.name = name

    def run(self):
        print('뜁니다.')

    def eat(self, food):
        print('{}을 먹습니다.'.format(food))

    def sleep(self):
        print('잠을 잡니다.')

    def design(self):
        print('열심히 디자인을 합니다.')

위 두개의 클래스 같은 경우 중복되는 부분을 Person이라는 새로운 클래스로 코드 중복을 줄일 수 있다.

# 부모 클래스
class Person(object):
    def __init__(self, name):
        self.name = name

    def run(self):
        print('뜁니다.')

    def eat(self, food):
        print('{}을 먹습니다.'.format(food))

    def sleep(self):
        print('잠을 잡니다.')

# 자식 클래스
class Programmer(Person):
    def coding(self):
        print('열심히 코딩을 합니다')

class Designer(Person):
    def design(self):
        print('열심히 디자인을 합니다')