Shiny Lime Green Star J, [์†Œํ”„ํŠธ์›จ์–ด์™€์ฐฝ์˜์ ์‚ฌ๊ณ ] 10์ฃผ์ฐจ. ํด๋ž˜์Šค์™€ ๊ฐ์ฒด

[ ํด๋ž˜์Šค ]

  • ์บ๋ฆญํ„ฐ๋“ค์ด ๊ฐ€์ ธ์•ผ ํ•  ๊ณตํ†ต ํŠน์„ฑ๊ณผ ๊ธฐ๋Šฅ์„ ๋ชจ์•„ ๋†“์€ ๊ฒƒ
  • ๊ฐ™์€ ์ข…๋ฅ˜์˜ ๊ฐ์ฒด ์ƒ์„ฑ์„ ์œ„ํ•ด ์ •์˜๋˜๋Š” ํ‹€(ํ˜•์‹)

· ๊ฐ์ฒด(Object) : ๋ฐ์ดํ„ฐ + ์•Œ๊ณ ๋ฆฌ์ฆ˜

· ์†์„ฑ(Attribute) : ํด๋ž˜์Šค์˜ ํŠน์„ฑ์„ ์ €์žฅ, ๋ณ€์ˆ˜ ์—ญํ• 

· ๋ฉ”์†Œ๋“œ(method) : ํด๋ž˜์Šค์˜ ๊ธฐ๋Šฅ ํ‘œํ˜„, ํ•จ์ˆ˜ ์—ญํ• 

** ๊ฐ์ฒด์ง€ํ–ฅ ์–ธ์–ด - ์—ฐ๊ด€๋œ ๋ฐ์ดํ„ฐ์™€ ํ•จ์ˆ˜๋ฅผ ๊ฐ์ฒด๋กœ ๋ชจ๋“ˆํ™” ใ…ก> ์ฝ”๋“œ๋ฅผ ๋ช…ํ™•ํ•˜๊ณ  ์‰ฝ๊ฒŒ ์ž‘์„ฑ๊ฐ€๋Šฅ

 

ใ…ก ํด๋ž˜์Šค ์ •์˜ ์˜ˆ (Circle)

  • # class ์ •์˜, main

  • ์ถœ๋ ฅ - f' string์œผ๋กœ ์ถœ๋ ฅ

**๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ์‹œ ๊ฐ ๊ฐ์ฒด(Object)์˜ ์•„์ด๋””๊ฐ€ self๋กœ ์ „๋‹ฌ


[ ์ƒ์„ฑ์ž ]

  • ์ƒ์„ฑ์ž

- ๊ฐ์ฒด๊ฐ€ ์ƒ์„ฑ๋  ๋•Œ ๋”ฑ ํ•œ๋ฒˆ ์ž๋™์œผ๋กœ ํ˜ธ์ถœํ•˜๋Š” ๋ฉ”์†Œ๋“œ

- ์ดˆ๊ธฐํ™” ํ•˜๋Š” ์—ญํ• 

- ๋ช…์‹œ์ ์œผ๋กœ ๋”ฐ๋กœ ํ˜ธ์ถœ์€ X

  • ๊ตฌํ˜„

- __init__() ์ธ ๋ฉ”์†Œ๋“œ

- ๋ณ„๋„์˜ ๋ฐ˜ํ™˜๊ฐ’ ( return value) X

- ๋ฉ”์†Œ๋“œ์ด๋ฏ€๋กœ self ๋งค๊ฐœ๋ณ€์ˆ˜ ๊ฐ€์ง

- ํ•„์š”ํ•œ ๊ฒฝ์šฐ, ์„ค์ • ๊ฐ’ ์ „๋‹ฌ๋ฐ›๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Œ

 

ใ…ก ์ƒ์„ฑ์ž(Constructor) ์ ์šฉ ํด๋ž˜์Šค

  • # def __init__(self, radius):
    • self.radius = radius
  • Circle(๊ฐ’ ๋„ฃ๊ธฐ)

  • ์™œ ์‚ฌ์šฉํ• ๊นŒ?

- ์™ธ๋ถ€์˜ ๊ฐ์ฒด ์†์„ฑ ์ ‘๊ทผ ํ”ผํ•  ์ˆ˜ ์žˆ๋‹ค

- ์ดˆ๊ธฐํ™” ๊ณผ์ • ๋ˆ„๋ฝ์œผ๋กœ ์ดˆ๊ธฐํ™” ์•ˆ๋œ ๊ฐ์ฒด๊ฐ€ ์—†๋‹ค

- ๊ฐ์ฒด ์‚ฌ์šฉ ์ค‘ ๋ถˆํ•„์š”ํ•œ ์‹œ์ ์— ๊ฐ์ฒด๊ฐ€ ์ดˆ๊ธฐํ™”๋˜๋Š” ๋ฌธ์ œ X

- ๋‹จ์ˆœ ํ• ๋‹น๋ฌธ์ด ์•„๋‹ˆ๋ผ ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ์ดˆ๊ธฐํ™” ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์Œ, ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ดˆ๊ธฐ๊ฐ’ ์œ ํšจ์„ฑ ํ™•์ธ ใ…ก> ์•ˆ์ „ํ•œ ์ดˆ๊ธฐํ™” ๊ฐ€๋Šฅ

 

ใ…ก ๋น„๊ณต๊ฐœ ์†์„ฑ ํด๋ž˜์Šค (class)

  • __

 

ใ…ก ์ •์  (static) ๋ฉ”์†Œ๋“œ / ํด๋ž˜์Šค ๋ฉ”์†Œ๋“œ 

  • ์ •์  ๋ฉ”์†Œ๋“œ : @staticmethod
  • ๋™์  ๋ฉ”์†Œ๋“œ : @classmethod (๋ฐ์ฝ”๋ ˆ์ดํ„ฐ ์ถ”๊ฐ€ํ•˜์—ฌ ํ™œ์šฉ)

  • ๊ฐ์ฒด์™€ ๋ฌด๊ด€ํ•˜๊ฒŒ ์ ‘๊ทผํ•ด์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์†Œ๋“œ

- ๊ฐ์ฒด ์ƒ์„ฑ ์ „์—๋„ ํ˜ธ์ถœ O, ๋งค๊ฐœ๋ณ€์ˆ˜ self X

- ๋ฉ”์†Œ๋“œ ์„ ์–ธ ์•ž์— ๋ฐ์ฝ”๋ ˆ์ดํ„ฐ(decorator)๋ฅผ ์ถ”๊ฐ€ํ•˜์—ฌ ์„ ์–ธ

 

class.ipynb
0.00MB

user-img J
wogml
ํ˜„์žฌ๊ธ€
[์†Œํ”„ํŠธ์›จ์–ด์™€์ฐฝ์˜์ ์‚ฌ๊ณ ] 10์ฃผ์ฐจ. ํด๋ž˜์Šค์™€ ๊ฐ์ฒด
ํ•จ๊ป˜ ๋ณด๋ฉด ์ข‹์„ ํฌ์ŠคํŠธ