Skip to content

Latest commit

ย 

History

History
84 lines (37 loc) ยท 3.14 KB

File metadata and controls

84 lines (37 loc) ยท 3.14 KB

โœ…๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(OOP) ์‹ฌํ™”

"ํด๋ž˜์Šค(class, ์–ด์›: classification)๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(OOP)์—์„œ ํŠน์ • ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋ณ€์ˆ˜์™€ ๋ฉ”์†Œ๋“œ๋ฅผ ์ •์˜ํ•˜๋Š” ์ผ์ข…์˜ ํ‹€(template)์ด๋‹ค. ๊ฐ์ฒด๋ฅผ ์ •์˜ํ•˜๊ธฐ ์œ„ํ•œ ๋ฉ”์†Œ๋“œ์™€ ๋ณ€์ˆ˜๋กœ ๊ตฌ์„ฑ๋œ๋‹ค." (link)

  • Intro
    • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ๋ฅผ ํ‘ธ๋Š” ๋™์•ˆ์— ํด๋ž˜์Šค๋ฅผ ์ง์ ‘ ๋งŒ๋“œ๋Š” ๊ฒฝ์šฐ๋Š” ์ž˜ ์—†์ง€๋งŒ, Django ๋“ฑ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ™œ์šฉํ•ด ์›น ๊ฐœ๋ฐœ์„ ์‹œ์ž‘ํ•˜๋ฉด ํด๋ž˜์Šค๋ฅผ ๊ตฌํ˜„ํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด ์ƒ๊น€

์ •์˜๊ฐ€ ์ค‘์š”

ํ•จ์ˆ˜: ์ธํ’‹์ด ๋“ค์–ด์˜ค๋ฉด ์•„์›ƒํ’‹์„ ๋ฆฌํ„ดํ•œ๋‹ค!

๊ฐ์ฒด: ์†์„ฑ๊ณผ ๋งค์„œ๋“œ๊ฐ€ ๋ชจ๋‘ ์กด์žฌํ•˜๋Š” ํ•˜๋‚˜์˜ ๋ชจ์Šต!

๊ทธ ๋ชจ์Šต์„ ํด๋ž˜์Šค๋กœ ์ •์˜ํ•ด๋†“๊ณ , ์‹ค์ œ๋กœ ํ™œ์šฉํ•˜๋Š” ๊ฒƒ์€ ๊ฐœ๋ณ„ ์ธ์Šคํ„ด์Šค!

py_OOP2_1

self ์— ๋Œ€ํ•œ ์„ค๋ช…(0720_2 ๊ทธ๋ฆผ / 02_self.py ์ฐธ์กฐ)

๋ชจ๋“  ์ธ์Šคํ„ด์Šค ์ค‘์— ์ฒซ๋ฒˆ์งธ๋กœ self๋ฅผ ๋„˜๊ฒจ์ค€๋‹ค๋Š” ์•ฝ์†์ด ๋˜์–ด์žˆ๋‹ค!

ํŒŒ์ด์ฌ์€ self ๊ฐ€ ๊ฐ ์ธ์Šคํ„ด์Šค๋ฅผ ๋„˜๊ฒจ์ฃผ๋Š” ์‹์œผ๋กœ ๊ตฌ์„ฑ์ด ๋˜์–ด์žˆ์Œ

self ๋ฅผ ์ค„์—ฌ์„œ s๋กœ ์จ๋„ ๋˜๊ธดํ•˜์ง€๋งŒ, ์ด๊ฑด ๋„ˆ๋ฌด ํž™์Šคํ„ฐ๋‹ค!

py_OOP2_2

ํด๋ž˜์Šค๋ฅผ ์–ด๋–ค ์ƒํ™ฉ์—์„œ ์“ฐ๋Š”๊ฒŒ ์ข‹์€๊ฐ€์š”?(03_why_oop.py ์ฐธ์กฐ)

ํฌ์ผ“๋ชฌ์—์„œ ๋‚ด ์•ผ์Šค์˜ค, ์ƒ๋Œ€ํŽธ ์•ผ์Šค์˜ค ์ธ์Šคํ„ด์Šค๋ฅผ ๋งŒ๋“ค์–ด ๋‚˜๊ฐ€๊ณ  ์‹ถ์„ ๋•Œ

๋กœ๋˜ ์ฝ”๋“œ ๋ฐœ์ „์‹œ์ผœ๋ณด๊ธฐ

  • 1๊ฒŒ์ž„์ด ์•„๋‹ˆ๋ผ, 5๊ฒŒ์ž„์ด ์ถœ๋ ฅ๋˜๋„๋ก ๊ตฌ์„ฑํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด ๋ฐ˜๋ณต๋ฌธ ์ด์šฉํ•˜๊ธฐ
  • ๋ฐ˜๋ณต๋ฌธ ๋Œ€์‹ , ํ•จ์ˆ˜ํ™”ํ•˜๊ธฐ
  • ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ์„ ํด๋ž˜์Šค๋กœ ๋งŒ๋“ค๊ธฐ(lotto_class.py)
  • ํด๋ž˜์Šค๋กœ ๋งŒ๋“ค์–ด์ง„ ์ฝ”๋“œ์— ์ธ์Šคํ„ด์Šค๋„ ๋„ฃ๊ณ  ํ™•์žฅ์‹œ์ผœ๊ฐ€๋ฉฐ ๊ธฐ๋Šฅ,๊ฐ’,๋งค์„œ๋“œ,ํ•จ์ˆ˜๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค (0720_3.png ์ฐธ์กฐ)

py_OOP2_3

  • ํด๋ž˜์Šค ์†์„ฑ(attribute)
    • ํ•œ ํด๋ž˜์Šค์˜ ๋ชจ๋“  ์ธ์Šคํ„ด์Šค๋ผ๋„ ๋˜‘๊ฐ™์€ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์†์„ฑ
    • ํด๋ž˜์Šค ์„ ์–ธ ๋‚ด๋ถ€์—์„œ ์ •์˜
    • <classname>.<name> ์˜ ๊ทœ์น™์œผ๋กœ ์ ‘๊ทผ ๋ฐ ํ• ๋‹น

์ธ์Šคํ„ด์Šค ๋งค์„œ๋“œ: ์ธ์Šคํ„ด์Šค๊ฐ€ ํ˜ธ์ถœํ•˜๋ฉด์„œ ๋งค์„œ๋“œ ์ž์ฒด์— ์ธ์Šคํ„ด์Šค๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์— ์“ฐ๊ธฐ

ํด๋ž˜์Šค ๋งค์„œ๋“œ: ํด๋ž˜์Šค๊ฐ€ ํ˜ธ์ถœ์„ ํ• ๊ฑด๋ฐ, ๋‚ด๋ถ€์ ์œผ๋กœ ๋งค์„œ๋“œ ์ž์ฒด์— ํด๋ž˜์Šค๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ

์Šคํƒœํ‹ฑ ๋งค์„œ๋“œ: ๋งค์„œ๋“œ ์ž์ฒด์— ํด๋ž˜์Šค, ์ธ์Šคํ„ด์Šค๊ฐ€ ํ•„์š” ์—†์„ ๋•Œ

  • ์Šคํƒœํ‹ฑ ๋ฉ”์„œ๋“œ ์•ˆ์—์„œ ํด๋ž˜์Šค, ์ธ์Šคํ„ด์Šค ์ ˆ๋Œ€! ์“ธ ์ˆ˜ ์—†๋‹ค(๋„˜๊ฒจ์ฃผ์ง€๋„ ์•Š๊ธฐ ๋•Œ๋ฌธ)

๊ฐ์ฒด ์ง€ํ–ฅ์˜ ํ•ต์‹ฌ๊ฐœ๋…

์ถ”์ƒํ™”

์ƒ์†: ์ฝ”๋“œ์˜ ์–‘์ด ๋งŽ์ด ์ค„์–ด๋“ฌ

  • ๋งค์†Œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ: ๋งค์†Œ๋“œ๋ฅผ ๋ฎ์–ด์“ฐ๊ธฐํ•ด์„œ ์žฌ์ •์˜ํ•˜๋Š” ๊ฒƒ
  • ๋‹ค์ค‘ ์ƒ์†: ํŒŒ์ด์ฌ์—์„œ ์ง€์›๋จ. ์žฅ๊ณ ์—์„œ ํ•™์Šตํ•  ์˜ˆ์ •

๋‹คํ˜•์„ฑ: ๋™์ผํ•œ ๋งค์†Œ๋“œ๊ฐ€ ์‹ค์ œ๋กœ๋Š” ์ƒ์† ๋ฐ›์€ ๊ฒƒ์— ๋”ฐ๋ผ ๋‹ค๋ฅด๊ฒŒ ํ–‰๋™ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š”๊ฑธ ์˜๋ฏธ. ๊ฐ„๋‹จํžˆ ๋งํ•ด์„œ ๋งค์†Œ๋“œ๋ฅผ ๋ฎ์–ด์“ธ ์ˆ˜ ์žˆ๋‹ค!

์บก์Аํ™”: ์‹ค์ œ๋กœ ํŒŒ์ด์ฌ์€ ์ˆ˜๋‹จ๊ณผ ๋ฐฉ๋ฒ•์„ ๋‹ค ์“ฐ๋ฉด ์ ‘๊ทผ ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์บก์Аํ™” ๋ถ€๋ถ„์€ ๋น„์ค‘์žˆ๊ฒŒ ๋‹ค๋ฃจ์ง€ ์•Š์Šต๋‹ˆ๋‹ค~!~! ๊ฐœ๋…์ ์œผ๋กœ๋งŒ ์ดํ•ดํ•˜๊ธฐ