๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?
[python] class์ def __init__(self) ์ดํดํ๊ธฐ ๋ณธ๋ฌธ
[python] class์ def __init__(self) ์ดํดํ๊ธฐ
์ง์ง์ํ์นด 2022. 9. 7. 15:05220907 ์์ฑ
<๋ณธ ๋ธ๋ก๊ทธ๋ engineer-mole ๋์ ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ๊ณ ํด์ ๊ณต๋ถํ๋ฉฐ ์์ฑํ์์ต๋๋ค :-) >
https://engineer-mole.tistory.com/190
[python] python์ self์ __init__์ ์ดํด
โป ์ผ๋ณธ์ ํ ํฌ์คํ ์ ๋ฒ์ญํ ๊ธ์ ๋๋ค. ์ค์ญ ๋ฐ ์ง์ญ์ด ์์ ์ ์์ผ๋ฉฐ, ๋ด์ฉ ์ค๋ฅ๋ ๋๊ธ๋ก ์ง์ ํด์ฃผ์ฌ ๊ฐ์ฌํ๊ฒ ์ต๋๋ค. Python์ ํด๋์ค์ ๋ํ ์ดํด ๋ค๋ฅธ ์ธ์ด์ ๋์ผํ๊ฒ python์์๋ ํด๋์ค
engineer-mole.tistory.com
๐ ํด๋์ค (class)
- ๊ฐ์ฒด์ ๊ตฌ์กฐ์ ํ๋
- ๊ฐ์ฒด(object)๋ฅผ ํํํ๊ธฐ ์ํ ๋ฌธ๋ฒ
- ์ด๋ค ์ฌ๋ฌผ์ด๋ ์ฃผ์ด์ง ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์ถ์ํ๋ฅผ ๊ฑฐ์ณ ๋ง๋ ํ
- ์์ฑํ๊ณ ์ ํ๋ ๊ฐ์ฒด์ ์์ฑ ๋ฑ์ ๋ฉค๋ฒ ๋ณ์๋ก ํด๋น ๊ฐ์ฒด๊ฐ ๊ฐ์ง ๊ธฐ๋ฅ์ ๋ฉค๋ฒ ํจ์(๋ฉ์๋)๋ก ๊ตฌํ
class ํด๋์ค๋ช
<(์์ ํด๋์ค๋ช
...)>:
๋ฉค๋ฒ๋ณ์ = ๊ฐ # ํด๋์ค ๋ณ์
...
def __init__(self): # ์์ฑ์
...
def ๋ฉ์๋๋ช
(self): # ๋ฉ์๋
...
- ์ธ์คํด์ค ์์ฑ์ ๋ง๋ค ๋๋ __init__ ๋ฉ์๋ ์์์ self.์์ฑ์ ๊ฐ์ ํ ๋น
- self๋ ์ธ์คํด์ค ์๊ธฐ ์์ ( = ๊ฐ์ฒด ์๊ธฐ ์์ ์ ์ฐธ์กฐํ๋ ๋งค๊ฐ๋ณ์ )
- ์ ์ ๋ฉ์๋์ ํด๋์ค ๋ฉ์๋๋ ์ธ์คํด์ค๋ฅผ ํตํ์ง ์๊ณ ํด๋์ค์์ ๋ฐ๋ก ํธ์ถํ ์ ์๋ ๋ฉ์๋
- ๋ฉ์๋(method) : ํด๋์ค ๋ด์์ ์ ์ธ๋ ํจ์
๐ ์ธ์คํด์ค(instance), ๊ฐ์ฒด(Object)
- ๊ฐ์ฒด๋ง ์ง์นญํ ๋๋ ๊ทธ๋ฅ ๊ฐ์ฒด(object)
- ํด๋์ค์ ์ฐ๊ด ์ง์ด์ ๋งํ ๋๋ ์ธ์คํด์ค(instance)
๐ ์์ฑ์ (constructor)
- ๊ฐ์ฒด๊ฐ ์์ฑ๋ ๋ ํด๋น ๊ฐ์ฒด์ ๋ฉค๋ฒ ๋ณ์๋ฑ ์ด๊ธฐํ๊ฐ ํ์ํ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ฒด๊ฐ ์์ฑ๋ ๋ ์ด๊ธฐํ
- ๋ฉค๋ฒํจ์์ ์ด๋ฆ์ __init__ ์ผ๋ก ํ๋ฉด ํด๋น ๋ฉค๋ฒ ํจ์๋ ์์ฑ์์ ์ญํ
def __init__(self, ๋งค๊ฐ๋ณ์1, ๋งค๊ฐ๋ณ์2, ..):
self.๋ฉค๋ฒ๋ณ์ = ๋งค๊ฐ๋ณ์1
...
๐ ์์ (inheritance)
- ํด๋์ค์ ์์์ ํํํ ๋ ์์ํ๋ ํด๋์ค๋ฅผ ๋ถ๋ชจ ํด๋์ค ์์๋ฐ๋ ํด๋์ค๋ฅผ ์์ ํด๋์ค
class ์์ ํด๋์ค๋ช
(๋ถ๋ชจ ํด๋์ค๋ช
):
- ๋ค์ค ์์(multiple inheritance)
- 2๊ฐ ์ด์์ ํด๋์ค๋ฅผ ์์๋ฐ๋ ๊ฒ
class ์์ ํด๋์ค๋ช
(๋ถ๋ชจ ํด๋์ค1, ๋ถ๋ชจ ํด๋์ค2, ..):
๋ฉค๋ฒ
๐ ์ค๋ฒ ๋ผ์ด๋ฉ(overriding)
- ๊ธฐ์กด์ ๊ฐ์ ์ด๋ฆ์ ํจ์๋ฅผ ๊ทธ๋๋ก ๋ฎ์ด์
- super() ํค์๋๋์์ ํด๋์ค์์ ๋ถ๋ชจ ํด๋์ค๋ฅผ ์ฐธ์กฐํ์ฌ ๋ฉ์๋ ์ด๋ฆ์ ๊ฐ์ง๊ณ ๋ถ๋ชจ ํด๋์ค์ ๋ฉ์๋๋ฅผ ์ฌ์ฉ
๐ ์์ฑ(attribute)
- ํด๋์ค์ ๋ด๋ถ ๋ณ์
'๐ฉโ๐ป ์ปดํจํฐ ๊ตฌ์กฐ > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๊ณ ๋ฆฌ์ฆ] ์ ํ๊ฒ์, ์ด์ง๊ฒ์, ํธ๋ฆฌ๊ตฌ์กฐ(BFS, DFS) (0) | 2022.09.30 |
---|---|
[์๊ณ ๋ฆฌ์ฆ] ๋ณต์ก๋,๋น ์ค ํ๊ธฐ๋ฒ O, ์๋ฃ๊ตฌ์กฐ(๋ฆฌ์คํธ, ์ฐ๊ฒฐ๋ฆฌ์คํธ) (0) | 2022.09.28 |
[์๊ณ ๋ฆฌ์ฆ] ํด์ํ ์ด๋ธ_๊ตฌํ (0) | 2022.06.17 |
[์๊ณ ๋ฆฌ์ฆ]ํด์ฌํ ์ด๋ธ_hash table (0) | 2022.06.17 |
[์๊ณ ๋ฆฌ์ฆ]๋ถํ ์ ๋ณต_์ ํ์ (0) | 2022.03.18 |