๐Ÿ˜Ž ๊ณต๋ถ€ํ•˜๋Š” ์ง•์ง•์•ŒํŒŒ์นด๋Š” ์ฒ˜์Œ์ด์ง€?

[python] class์™€ def __init__(self) ์ดํ•ดํ•˜๊ธฐ ๋ณธ๋ฌธ

๐Ÿ‘ฉ‍๐Ÿ’ป ์ปดํ“จํ„ฐ ๊ตฌ์กฐ/Algorithm

[python] class์™€ def __init__(self) ์ดํ•ดํ•˜๊ธฐ

์ง•์ง•์•ŒํŒŒ์นด 2022. 9. 7. 15:05
728x90
๋ฐ˜์‘ํ˜•

220907 ์ž‘์„ฑ

<๋ณธ ๋ธ”๋กœ๊ทธ๋Š” engineer-mole ๋‹˜์˜ ๋ธ”๋กœ๊ทธ๋ฅผ ์ฐธ๊ณ ํ•ด์„œ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค :-) >

https://engineer-mole.tistory.com/190

 

[python] python์˜ self์™€ __init__์˜ ์ดํ•ด

โ€ป ์ผ๋ณธ์˜ ํ•œ ํฌ์ŠคํŒ…์„ ๋ฒˆ์—ญํ•œ ๊ธ€์ž…๋‹ˆ๋‹ค. ์˜ค์—ญ ๋ฐ ์ง์—ญ์ด ์žˆ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋‚ด์šฉ ์˜ค๋ฅ˜๋Š” ๋Œ“๊ธ€๋กœ ์ง€์ ํ•ด์ฃผ์‹ฌ ๊ฐ์‚ฌํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค. Python์˜ ํด๋ž˜์Šค์— ๋Œ€ํ•œ ์ดํ•ด ๋‹ค๋ฅธ ์–ธ์–ด์™€ ๋™์ผํ•˜๊ฒŒ python์—์„œ๋„ ํด๋ž˜์Šค

engineer-mole.tistory.com

 

 

https://velog.io/@nzlk112/%ED%8C%8C%EC%9D%B4%EC%8D%AC-%ED%81%B4%EB%9E%98%EC%8A%A4%EC%9D%98-%EA%B0%9C%EB%85%90%EA%B3%BC-%EC%83%81%EC%86%8D%EC%9D%98-%EB%8F%99%EC%9E%91

 

 

๐Ÿ˜Ž ํด๋ž˜์Šค (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)

  • ํด๋ž˜์Šค์˜ ๋‚ด๋ถ€ ๋ณ€์ˆ˜

 

 

728x90
๋ฐ˜์‘ํ˜•
Comments