-
[Python] Class(ํด๋์ค), Object, ์์ ์ดํดPython 2020. 11. 7. 17:49๋ฐ์ํ
- ์ด ๊ธ์ python์ ํด๋์ค์ ๊ด๋ จ๋ ๋ด์ฉ์ ๋๋ค.
Class๋
์ค์ธ๊ณ์ ๊ฒ์ ๋ชจ๋ธ๋งํ์ฌ ์์ฑ๊ณผ ๋์์ ๊ฐ๋ ๋ฐ์ดํฐ ํ์
python์์์ string, int, list, dict ๋ชจ๋๊ฐ ๋ค ํด๋์ค๋ก ์กด์ฌ
๋ค๋ฃจ๊ณ ์ ํ๋ ๋ฐ์ดํฐ์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๋ ์ฐ์ฐ์ ํ๋๋ก ์บก์ํํ์ฌ ํด๋์ค๋ก ํํ
class ํค์๋๋ฅผ ์ด์ฉํ์ฌ ์ ์
init(self)
์์ฑ์๋ฅผ ์ ์, ํด๋์ค ์ธ์คํด์ค๊ฐ ์์ฑ๋ ๋ ํธ์ถ๋จ
self์ธ์๋ ํญ์ ์ฒซ ๋ฒ์งธ๋ก ์ค๋ฉฐ ์๊ธฐ ์์ ์ ๊ฐ๋ฆฌํด, c++/c#, java์ this์ ํด๋น
์์ฑ์์์ ํด๋น ํด๋์ค๊ฐ ๋ค๋ฃจ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์
method ์ ์
๋ฉค๋ฒํจ์๋ผ๊ณ ํ๋ฉฐ, ํด๋น ํด๋์ค์ object์์๋ง ํธ์ถ ๊ฐ๋ฅ
๋ฉ์๋๋ ๊ฐ์ฒด ๋ ๋ฒจ์์ ํธ์ถ๋๋ฉฐ, ํด๋น ๊ฐ์ฒด์ ์์ฑ์ ๋ํ ์ฐ์ฐ์ด ๊ฐ๋ฅ
์์
๊ธฐ์กด์ ์ ์ํด๋ ํด๋์ค์ ๊ธฐ๋ฅ์ ๊ทธ๋๋ก ๋ฌผ๋ ค๋ฐ์ ์ ์๋ค.
๊ธฐ์กด ํด๋์ค์ ๊ธฐ๋ฅ ์ผ๋ถ๋ฅผ ์ถ๊ฐํ๊ฑฐ๋, ๋ณ๊ฒฝํ์ฌ ์๋ก์ด ํด๋์ค๋ฅผ ์ ์ํ๋ค.
์ฝ๋๋ฅผ ์ฌ์ฌ์ฉํ ์ ์๋ค.
์์ ๋ฐ๊ณ ์ ํ๋ ๋์์ธ ๊ธฐ์กด ํด๋์ค๋ (Parent, Super, Base) class๋ผ๊ณ ๋ถ๋ฅธ๋ค.
์์ ๋ฐ๋ ์๋ก์ด ํด๋์ค๋ (Child, Sub, Derived) class๋ผ๊ณ ๋ถ๋ฅธ๋ค.
method override
๋ถ๋ชจ ํด๋์ค์ method๋ฅผ ์ฌ์ ์
ํ์ํด๋์ค์ ์ธ์คํด์ค๋ก ํธ์ถ์, ์ฌ์ ์๋ ๋ฉ์๋๊ฐ ํธ์ถ๋จ
๋ถ๋ชจ์ ํจ์๋ฅผ ๊ทธ๋๋ก ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ super() ํค์๋๋ฅผ ์ด์ฉํ์ฌ ํจ์ ํธ์ถ
special method
_ ๋ก ์์ํ์ฌ ๋ก ๋๋๋ ํน์ํจ์ ( ex. _sub, add, mul ...)
ํด๋น ๋ฉ์๋๋ฅผ ๊ตฌํํ๋ฉด, ์ปค์คํ ๊ฐ์ฒด์ ์ฌ๋ฌ๊ฐ์ง ํ์ด์ฌ ๋ด์ฅํจ์๋ ์ฐ์ฐ์ ์ ์ฉ ๊ฐ๋ฅ
๋ฐ์ํ'Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] ํจ์์ ์ดํด ๋ฐ ์ฌ์ฉ, ๋ชจ๋, ๋๋ค (0) 2020.11.07 [Python] ์กฐ๊ฑด๋ฌธ, ๋ฐ๋ณต๋ฌธ (0) 2020.11.01 [Python] ์ปฌ๋ ์ ์ ์ดํด ( List, Tuple, Dict, Set ) (0) 2020.11.01 [Python] ๊ธฐ๋ณธ ๋ฐ์ดํฐ ํ์ ๋ฐ ๋ณ์์ ์ดํด (0) 2020.10.29 [Python] Anaconda ์ค์น ๋ฐ Jupyter ์ฌ์ฉ (0) 2020.10.27