์ด ์์์ฝ๋๋ฅผ ๊ฐ์ง๊ณ ์ ๋ฆฌ๋ฅผ ํ ๊ฒ์ด๋ค.
class FourCal:
# def setData(self, input1, input2):
# self.num1 = input1
# self.num2 = input2
# print(self.num1, self.num2)
def __init__(self, input1, input2):
self.num1 = input1
self.num2 = input2
print(self.num1, self.num2)
def add(self):
print('ํฉ :', self.num1+self.num2)
def sub(self):
print('์ฐจ :', self.num1-self.num2)
def prod(self):
print('๊ณฑ :', self.num1*self.num2)
def div(self):
print('๋๋๊ธฐ :', self.num1/self.num2)
# a = FourCal()
# a.setData(10,2)
a = FourCal(10, 2)
a.add()
a.sub()
a.prod()
a.div()
# b = FourCal()
# b.setData(12,4)
b = FourCal(12, 4)
b.add()
b.sub()
b.prod()
b.div()
class MoreFourCal(FourCal): #์์
def pow(self):
print('์ ๊ณฑ :', self.num1 ** self.num2)
c = MoreFourCal(3, 2)
c.add()
c.sub()
c.prod()
c.div()
c.pow()
class safeFourCal(FourCal):
def div(self): #์ค๋ฒ๋ผ์ด๋ฉ
if self.num2 == 0:
print('0์ผ๋ก ๋๋๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค...', 0)
else:
print('๋๋๊ธฐ :', self.num1/self.num2)
d = safeFourCal(4, 0)
d.add()
d.sub()
d.prod()
d.div()
๐ํด๋์ค์ ์์ฑ ๋ฐ ์์ฑ์
class FourCal:
# def setData(self, input1, input2):
# self.num1 = input1
# self.num2 = input2
# print(self.num1, self.num2)
def __init__(self, input1, input2):
self.num1 = input1
self.num2 = input2
print(self.num1, self.num2)
def add(self):
print('ํฉ :', self.num1+self.num2)
def sub(self):
print('์ฐจ :', self.num1-self.num2)
def prod(self):
print('๊ณฑ :', self.num1*self.num2)
def div(self):
print('๋๋๊ธฐ :', self.num1/self.num2)
FourCal ์ด๋ผ๋ ํด๋์ค๋ฅผ ๋ง๋ค์๋ค.
๊ทผ๋ฐ ๋งจ ์์ ์ฃผ์ ์ฒ๋ฆฌ๋ setData๋ฅผ ๋ณด๋ฉด, ๋งค๊ฐ๋ณ์๋ก self, input1, input2๋ฅผ ๋ฐ๋๋ค.
self ๋์ ์ ๋ฃ๊ณ ์ถ์ ์ด๋ฆ์ ์๋ฌด๊ฑฐ๋ ๋ฃ์ด๋ ์๊ด์ ์๋ค๊ณ ํ๋ค! (ํ์ง๋ง ๊ด๋ก์ ์ผ๋ก self๋ฅผ ์ด๋ค๊ณ ํจ)
๊ทธ๋์ setData๋ฉ์๋์์ ๋ค์ด์จ ๋งค๊ฐ๋ณ์๋ฅผ ๊ฐ์ฒด๋ณ์์ ์ฐ๊ฒฐํด์ฃผ๋ ์ผ์ ํ๋๋ฐ,
์ด๋ add, sub, prod, div๋ฅผ ์ํํ๊ธฐ ์ ์ ๊ผญ ๋จผ์ ์ฐ๊ฒฐ์ ํด ์ฃผ๊ณ ๋์ ๊ณ์ฐ์ ํด์ผํ๋ ๋ฒ๊ฑฐ๋ก์์ด ์์๋ค.
์ด๊ฒ์ ํธ์ถํ์ง ์์๋ ์ฐ๊ฒฐ ํ ์ ์๊ฒ ํด์ฃผ๋ ๋ฉ์๋๊ฐ __init__ ์ด๋ค. (__init__ = ์์ฑ์)
์ด๊ฒ์ด ์ํํ๋ ์ผ์ setData์ ๋์ผํ์ง๋ง, ์์ฑ์์ด๊ธฐ ๋๋ฌธ์ ๊ฐ์ฒด๊ฐ ์์ฑ๋๋ ์์ ์ ์๋์ผ๋ก ํธ์ถ์ด ๋๋ค!
๐ํด๋์ค์ ์์ฑ ๋ฐ ์์ฑ์
์์์ ํ๋ฉด ๋ค๋ฅธ ํด๋์ค์ ๋ชจ๋ ๊ธฐ๋ฅ์ ๋ฌผ๋ ค๋ฐ์ ์ ์๋ค.
class MoreFourCal(FourCal): #์์
def pow(self):
print('์ ๊ณฑ :', self.num1 ** self.num2)
c = MoreFourCal(3, 2)
c.add()
c.sub()
c.prod()
c.div()
c.pow()
MoreFourCal ์ FourCal ํด๋์ค๋ฅผ ์์ํ๋ค.
๊ทธ๋์ add, sub, prod, div๋ฅผ ๋ชจ๋ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
๊ทธ๋ฆฌ๊ณ ์์ํ ํ, pow ๋ผ๋ ํจ์๋ฅผ ์ถ๊ฐํ๊ธฐ ๋๋ฌธ์ ๊ทธ๊ฒ๋ ์ฌ์ฉ ๊ฐ๋ฅํ๋ค.
๐๋ฉ์๋์ ์ค๋ฒ๋ผ์ด๋ฉ
์์ง๋ ํท๊ฐ๋ฆฌ๋ ์ค๋ฒ๋ผ์ด๋ฉ์ด ๋ ๋์๋ค๐ญ
class safeFourCal(FourCal):
def div(self): #์ค๋ฒ๋ผ์ด๋ฉ
if self.num2 == 0:
print('0์ผ๋ก ๋๋๋ ๊ฒ์ ๋ถ๊ฐ๋ฅํฉ๋๋ค...', 0)
else:
print('๋๋๊ธฐ :', self.num1/self.num2)
d = safeFourCal(4, 0)
d.add()
d.sub()
d.prod()
d.div()
์์ ๋ณด๋ฉด ์ด๋ฏธ FourCal ์์ div๋ผ๋ ๋ฉ์๋๊ฐ ์๋๋ฐ, SafeFourCal (FourCal์ ์์) ์์ ๋๊ฐ์ ์ด๋ฆ์ผ๋ก div๋ฅผ ๋ง๋ค์๋ค. ์ด๋ ๊ฒ ์์ํ ํด๋์ค์ ์๋ ๋ฉ์๋๋ฅผ ๋๊ฐ์ ์ด๋ฆ์ผ๋ก ๋ง๋๋ ๊ฒ์ ์ค๋ฒ๋ผ์ด๋ฉ! ์ด๋ผ๊ณ ํ๋ค. ์ค๋ฒ๋ผ์ด๋ฉ ํ๋ฉด ๋ถ๋ชจํด๋์ค์ ๋ฉ์๋ ๋์ , ์ค๋ฒ๋ผ์ด๋ฉ ํ ๋ฉ์๋๊ฐ ๋ถ๋ฆฐ๋ค.
'๐๊ณต๋ถ > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] in range ์ enumerate (0) | 2020.11.19 |
---|---|
[Python] for-else, while-else๋ฌธ (0) | 2020.11.18 |
[Python] ์ ๋ ฅ๊ฐ์ ๊ฐฏ์๊ฐ ์ ํด์ง์ง ์์ ํจ์๋ฅผ ๋ง๋ค๊ธฐ (0) | 2020.11.14 |
[Python] ํ์ด์ฌ์์ ์์์ ๋ํ๋ด๊ธฐ (ํฌ๋งทํ ) (0) | 2020.11.13 |
[Python] ์ ์ญ๋ณ์๋ฅผ ์ฌ์ฉํด๋ณด์ (0) | 2020.11.10 |
๋๊ธ