티스토리 뷰

반응형

클래스를 다루다 보면 상속을 받다라는 용어도 같이 나오게 된다. 여기서 상속(Inheritance)이란 "물려받다" 라는 뜻으로, 우리가 흔히 말하는 재산을 상속받는다 할때의 상속과 같은 의미라고 생각하면 된다. 클래스에도 이 상속의 개념을 적용할 수 있다. 어떤 클래스를 만들때 다른 클래스의 기능을 그대로 물려 받는 것을 말한다. 그러면 이번 시간에는 지난 사직연산클래스 에서  ab (a의 b제곱)을 구할 수 있는 기능을 추가해 보도록 하자.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class FourCal:
     def setdata(self, first, second):
         self.first = first
         self.second = second
     def add(self):
         result = self.first + self.second
         return result
     def mul(self):
         result = self.first * self.second
         return result
     def sub(self):
         result = self.first - self.second
         return result
     def div(self):
         result = self.first / self.second
         return result
cs


클래스 상속


우리는 지난 시간에 사칙연산클래스 를 만들어 놓았기 때문에 오늘 추가하는 moreFourCal()은 아래와 같이 간단하게만들수 있다. 

1
2
3
4
>>> class MoreFourCal(FourCal):
...     pass
... 
>>>
cs


클래스를 상속하기 위해서는 아래와 같이 클래스 이름 뒤 괄호 안에 상속할 클래스의 이름을 넣어주면 된다.

 

1
class 클래스 이름(상속할 클래스 이름)
cs


MoreFourCal 는 fourcal클래스르 상속했으므로 fourcal 클래스의 모든 기능을 사용할수 있어야 한다. 


1
2
3
4
5
6
7
8
9
>>> class MoreFourCal(FourCal):
...     def pow(self):
...         result = self.first ** self.second
...         return result
...
>>>
>>> a = MoreFourCal(42)
>>> a.pow()
16
cs

제 포스팅이 도움이 되셨다면

♡공감↓ 꾸~욱 부탁드려요^^ 

더 나은 포스팅에 큰 힘이 됩니다.



반응형
댓글