ํด๋์ค์ ๊ฐ์ฒด
์์ ํด๋์ค๋ฅผ ๋ถ์ด๋นต์ ํ์ ๋น์ ํ๋ค. ์ด์ ๋ค์ ์๊ฐํด๋ณด๋ฉด ์ ๋ถ์ด๋นต ํ์ด ๊ฐ์ฅ ์๋ง์ ์ค๋ช ์ด์๋์ง ์ดํด๊ฐ ๊ฐ ๊ฒ์ด๋ค.
- ๋ถ์ด๋นต ํ -> ํด๋์ค (Class)
- ๋ง๋ค์ด์ง ๋ถ์ด๋นต -> ๊ฐ์ฒด (Object)
ํด๋์ค(Class)๋ ๋ถ์ด๋นต์ ๊ณ์ ๋ง๋ค ์ ์๋ ํ์ด๊ณ , ๊ฐ์ฒด(Object)๋ ํด๋์ค๋ฅผ ์ด์ฉํด ๋ง๋ ๋ถ์ด๋นต๊ณผ ๊ฐ๋ค. ๊ฐ๊ฐ์ ๊ฐ์ฒด(๋ถ์ด๋นต)๋ค์ ๊ณ ์ ํ ์ฑ๊ฒฉ์ ๊ฐ์ง๋ฉฐ, ์๋ก ์ ํ ์ํฅ์ ์ฃผ์ง ์๋๋ค.
๊ฐ์ฒด์ ์ซ์ ์ง์ ํ ์ ์๊ฒ ํ๊ธฐ
์์ ๊ณ์ฐ๊ธฐ๋ฅผ ๊ตฌํํ๋ฉด์ ์ฐ๋ฆฌ๋ ๊ฐ์ ๊ทธ๋ ๊ทธ๋ ์ ๋ ฅ๋ฐ์๋ค. ํ์ง๋ง ์ฐ์ฐํ ์๋ฅผ ๋ฏธ๋ฆฌ ๋ฐ๊ฒ ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผํ ๊น?
class calculator: #๊ณ์ฐ๊ธฐ ํด๋์ค ์์ฑ
def setdata(self, first,second): # first์ second์ ์ฐ์ฐํ ์ ์ ์ฅ
self.first = first #๊ฐ์ฒด์ first๋ณ์์ ์
๋ ฅ๋ฐ์ first๊ฐ ์ ์ฅ
self.second = second #๊ฐ์ฒด์ second๋ณ์์ ์
๋ ฅ๋ฐ์ second๊ฐ ์ ์ฅ
setdata ํจ์์ ๋ํด์ ๋ณด์. Class ๋ด์์ ๊ตฌํ๋ ํจ์๋ฅผ ๋ฉ์๋(Method) ๋ผ๊ณ ํ๋ค. setdata ๋ฉ์๋์ ๋งค๊ฐ๋ณ์๋ first์ second ๊ทธ๋ฆฌ๊ณ self๋ฅผ ์ ๋ ฅ ๋ฐ๋๋ค. ์ผ๋จ ์๋ ์ฝ๋๋ฅผ ๋ณด์.
a = calculator() #๋ถ์ด๋นต a ์์ฑ
b = calculator() #๋ถ์ด๋นต b ์์ฑ
a.setdata(1,2) #๋ถ์ด๋นต a์๋ ์ฌ๋ฃ 1,2
b.setdata(3,4) #๋ถ์ด๋นต b์๋ ์ฌ๋ฃ 3,4
์ฐ๋ฆฌ๋ ๋ถ๋ช 3๊ฐ์ ๋งค๊ฐ๋ณ์๋ฅผ ๋ฐ์์ผ ํ๋๋ฐ ์ฝ๋๋ฅผ ๋ณด๋ฉด ๋๊ฐ๋ฐ์ ์ ๋ ฅ๋ฐ์ง ์์๋ค. ๊ทธ ์ด์ ๋ self์๋ ๋ฉ์๋ setdata๋ฅผ ํธ์ถํ ๊ฐ์ฒด๊ฐ ์๋์ผ๋ก ์ ๋ฌ๋๊ธฐ ๋๋ฌธ์ด๋ค. ๋ง๋ก ํ์๋ฉด "(a ๋ถ์ด๋นต์) ์ฌ๋ฃ 1,2๋ฃ์" ์์ ์์ (a ๋ถ์ด๋นต์)๋ฅผ ์๋ตํ ๋๋? ๊ทธ๊ฑฐ๋ฅผ a.setdata์ ๊ฐ์ด a๊ฐ ๋ฉ์๋๋ฅผ ํธ์ถํ์ผ๋ ์์์ a์์ ๋ฃ๋ ๊ฒ์ด๋ค. Self ๋ง๊ณ ๋ค๋ฅธ ์ด๋ฆ์ ์ฌ์ฉํด๋ ์๊ด ์๋ค.
๋ค๋ฅธ ๋ฉ์๋ ํธ์ถ ๋ฐฉ๋ฒ๋ ์๋ค.
a = calculator()
calculator().setdata(a,4,2)
์ด๋ฐ ๊ฒฝ์ฐ ๊ฐ์ฒด a๋ฅผ ์ฒซ ๋ฒ์งธ ๋งค๊ฐ๋ณ์ self์ ๊ผญ ์ ๋ฌํด ์ฃผ์ด์ผ ํ๊ณ , ๊ทธ๋ ์ง ์์ ๊ฒฝ์ฐ์๋ ๋ฐ๋์ ์๋ตํด์ ํธ์ถํด์ผ ํ๋ค.
setdata ๋ฉ์๋์ ์ํ๋ฌธ
์ด์ ๋ฉ์๋์ ์ํ๋ฌธ์ ๋ํด ์์๋ณด์
def setdata(self, first,second) : # ๋ฉ์๋์ ๋งค๊ฐ๋ณ์
self.first = first #๋ฉ์๋์ ์ํ๋ฌธ
self.second = second #๋ฉ์๋์ ์ํ๋ฌธ
a.setdata(4,2) ์ ๊ฐ์ด ํธ์ถํ๋ฉด setdata์ ๋งค๊ฐ๋ณ์ first, second์๋ ๊ฐ๊ฐ 4์ 2๊ฐ ์ ๋ฌ๋๊ณ ๋ค์๊ณผ ๊ฐ์ด ํด์๋๋ค.
self.first = 4
self.second = 2
=======================
a.first = 4
a.second = 2
a ๊ฐ์ฒด์ first ๋ณ์์ 4๋ฅผ ์ ์ฅํ๊ณ , a ๊ฐ์ฒด์ second ๋ณ์์ 2๋ฅผ ์ ์ฅํ๋ค๋ ๋ป์ด๋ค.
๋ํ๊ธฐ ๊ธฐ๋ฅ ๋ง๋ค๊ธฐ
๊ทธ๋ผ Calculator ํด๋์ค์ ๋ํ๊ธฐ ๊ธฐ๋ฅ์ ๋ง๋ค์ด๋ณด์.
class calculator: #๊ณ์ฐ๊ธฐ ํด๋์ค ์์ฑ
def setdata(self, first,second): # first์ second์ ์ฐ์ฐํ ์ ์ ์ฅ
self.first = first #๊ฐ์ฒด์ first๋ณ์์ ์
๋ ฅ๋ฐ์ first๊ฐ ์ ์ฅ
self.second = second #๊ฐ์ฒด์ second๋ณ์์ ์
๋ ฅ๋ฐ์ second๊ฐ ์ ์ฅ
def add(self,first,second):
result = self.first + self.second
return result
๋จ์ํ๊ฒ ํด๋์ค ์์ ํจ์๋ฅผ ํ๋ ๋ ๋ง๋ค์ด ์ฃผ๋ฉด ๋๋ค.
์ด ๊ธ์ "์ ํ ํฌ ํ์ด์ฌ"์ ์ฐธ๊ณ ํ์ฌ ์์ฑ๋์์ต๋๋ค. ์์ธํ ๋ด์ฉ์ ์ฐธ๊ณ ํ๊ณ ์ถ๋ค๋ฉด
https://wikidocs.net/28
05-1 ํด๋์ค
์ด๋ณด ๊ฐ๋ฐ์๋ค์๊ฒ ํด๋์ค(class)๋ ๋๊ธฐ ํ๋ ์ฅ๋ฒฝ๊ณผ๋ ๊ฐ์ ์กด์ฌ์ด๋ค. ๋ ์๋ค ์ค์๋ ํด๋์ค๋ผ๋ ๋จ์ด๋ฅผ ์ฒ์ ์ ํ๋ ์ด๋ค๋ ์์ ๊ฒ์ด๋ค. ๊ทธ๋ฌ๋ฉด ๋๋์ฒด ํด๋์ค๊ฐ ๋ฌด์์ธ์ง ...
wikidocs.net
'Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Python - ํด๋์ค (Class) 3 (0) | 2022.01.10 |
---|---|
Python - ํด๋์ค (Class) 1 (1) | 2022.01.09 |