객체 지향 프로그래밍은 프로젝트에서 코드 중복을 방지하기 위해 재사용 가능한 코드 패턴을 생성합니다. 재활용 가능한 코드가 생성되는 한 가지 방법은 상속을 통해 하나의 하위 클래스가 다른 기본 클래스의 코드를 활용할 때입니다.
상속은 클래스가 다른 클래스 내에서 작성된 코드를 사용하는 경우입니다.
자식 클래스 또는 하위 클래스라고 하는 클래스는 부모 클래스 또는 기본 클래스에서 메서드와 변수를 상속합니다.
Child 하위 클래스는 Parent 기본 클래스에서 상속되기 때문에 Child 클래스는 Parent의 코드를 재사용할 수 있으므로 프로그래머가 더 적은 수의 코드를 사용하고 중복성을 줄일 수 있습니다.
파생 클래스는 부모 클래스와 매우 유사하게 선언됩니다. 그러나 상속받을 기본 클래스의 목록은 클래스 이름 다음에 제공됩니다 -
class SubClassName (ParentClass1[, ParentClass2, ...]): 'Optional class documentation string' class_suite
예시
class Parent: # define parent class parentAttr = 100 def __init__(self): print "Calling parent constructor" def parentMethod(self): print 'Calling parent method' def setAttr(self, attr): Parent.parentAttr = attr def getAttr(self): print "Parent attribute :", Parent.parentAttr class Child(Parent): # define child class def __init__(self): print "Calling child constructor" def childMethod(self): print 'Calling child method' c = Child() # instance of child c.childMethod() # child calls its method c.parentMethod() # calls parent's method c.setAttr(200) # again call parent's method c.getAttr() # again call parent's method
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다.
Calling child constructor Calling child method Calling parent method Parent attribute :200