지금까지 객체의 기본문법과 변수, 메소드에 대해서 살펴보았습니다. 파이썬에서 객체 상속은 만들어진 객체를 기능을 상속받아서 새로운 기능을 추가할수가 있습니다.
다시말해 이미 만들어진 객체 프로그래밍의 기능을 그대로 상속받아 사용하면서, 새로운 기능을 객체를 만들어 추가하고 중복된 코드를 줄이고 유지보수가 용이해지게 됩니다.
객체 복습차원에서 기본문법은 class 클래스이름(object):’ 이며 객체안에 ‘def 함수이름(self):’ 으로 ‘return “값” 하여 ‘변수 = 클래스이름(), 으로 ‘변수.함수이름’ 을 출력합니다.
1.객체 상속 기본문법.
예제를 통해서 상속의 기본문법을 보면 class Class1() 이라는 클래스가 있다면, class Class3(Class1): 은 새로운 Class3 클래스에 Class1 클래스를 상속받을수가 있습니다.

떄문에 Class1 에 있는 def method1 함수를 Class3 클래스에서 사용이 가능하므로, 변수 c3 = Class3() 로 하고, c3.method2() 는 m2를 출력하고, c1.method1() 은 상속받은 method1 의 retrun 값인 m1 을 출력할수가 있습니다.

2.객체 상속 예제
상속은 클래스에 있는 함수를 그대로 가져올수가 있는것을 기본문법을 통해서 알아보았는데, 기존에 다루었던 계산기 기능을 통해서 상속 예제를 다루어보고자 합니다.
class Cal(object): 에 def init(self, v1, v2): 로, def add(self), def subtract(self) 함수에 각각 v1+v2, v1-v2 가 있습니다.
class CalMultiply(Cal): 은 새로운 클래스 CalMultiply 를 만들어 Cal 클래스를 상속받아 함수 multiply 를 v1*v2 를 리턴합니다.
그리고 class CalDivide(CalMultiply) 를 추가하여 함수 divide에 v1/v2 를 추가하고, Cal, CalMultiply 클래스를 상속받게 됩니다.

3.객체 상속 예제 출력
변수 c1 = CalMultiply(10, 10), c1.add() 를 출력하면 10+10 이므로 20이 출력되고, c1.multiply() 은 10*10 이므로 100이 출력이 됩니다.
변수 c2 = CalDivide(20, 20), c2.add() 은 20+20 이므로 40이 출력되고, c2.divide() 은 v1/v2 이므로 1.0 이 출력됩니다.

지금까지 파이썬 객체 상속의 기본문법과 클래스 상속 예제에 대해서 살펴보았습니다. 예제를 통해서 알수 있는것은 class CalDivide 클래스는 Cal 과, CalMultiply 를 상속받아서 그안에 있는 함수를 사용하는것을 확인할수가 있습니다.