"ํด๋์ค(class, ์ด์: classification)๋ ๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ(OOP)์์ ํน์ ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ธฐ ์ํด ๋ณ์์ ๋ฉ์๋๋ฅผ ์ ์ํ๋ ์ผ์ข ์ ํ(template)์ด๋ค. ๊ฐ์ฒด๋ฅผ ์ ์ํ๊ธฐ ์ํ ๋ฉ์๋์ ๋ณ์๋ก ๊ตฌ์ฑ๋๋ค." (link)
- Intro
- ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ๋ฅผ ํธ๋ ๋์์ ํด๋์ค๋ฅผ ์ง์ ๋ง๋๋ ๊ฒฝ์ฐ๋ ์ ์์ง๋ง, Django ๋ฑ ํ๋ ์์ํฌ๋ฅผ ํ์ฉํด ์น ๊ฐ๋ฐ์ ์์ํ๋ฉด ํด๋์ค๋ฅผ ๊ตฌํํด์ผ ํ๋ ์ํฉ์ด ์๊น
์ ์๊ฐ ์ค์
ํจ์: ์ธํ์ด ๋ค์ด์ค๋ฉด ์์ํ์ ๋ฆฌํดํ๋ค!
๊ฐ์ฒด: ์์ฑ๊ณผ ๋งค์๋๊ฐ ๋ชจ๋ ์กด์ฌํ๋ ํ๋์ ๋ชจ์ต!
๊ทธ ๋ชจ์ต์ ํด๋์ค๋ก ์ ์ํด๋๊ณ , ์ค์ ๋ก ํ์ฉํ๋ ๊ฒ์ ๊ฐ๋ณ ์ธ์คํด์ค!
self ์ ๋ํ ์ค๋ช (0720_2 ๊ทธ๋ฆผ / 02_self.py ์ฐธ์กฐ)
๋ชจ๋ ์ธ์คํด์ค ์ค์ ์ฒซ๋ฒ์งธ๋ก self๋ฅผ ๋๊ฒจ์ค๋ค๋ ์ฝ์์ด ๋์ด์๋ค!
ํ์ด์ฌ์ self ๊ฐ ๊ฐ ์ธ์คํด์ค๋ฅผ ๋๊ฒจ์ฃผ๋ ์์ผ๋ก ๊ตฌ์ฑ์ด ๋์ด์์
self ๋ฅผ ์ค์ฌ์ s๋ก ์จ๋ ๋๊ธดํ์ง๋ง, ์ด๊ฑด ๋๋ฌด ํ์คํฐ๋ค!
ํด๋์ค๋ฅผ ์ด๋ค ์ํฉ์์ ์ฐ๋๊ฒ ์ข์๊ฐ์?(03_why_oop.py ์ฐธ์กฐ)
ํฌ์ผ๋ชฌ์์ ๋ด ์ผ์ค์ค, ์๋ํธ ์ผ์ค์ค ์ธ์คํด์ค๋ฅผ ๋ง๋ค์ด ๋๊ฐ๊ณ ์ถ์ ๋
๋ก๋ ์ฝ๋ ๋ฐ์ ์์ผ๋ณด๊ธฐ
- 1๊ฒ์์ด ์๋๋ผ, 5๊ฒ์์ด ์ถ๋ ฅ๋๋๋ก ๊ตฌ์ฑํ๊ณ ์ถ๋ค๋ฉด ๋ฐ๋ณต๋ฌธ ์ด์ฉํ๊ธฐ
- ๋ฐ๋ณต๋ฌธ ๋์ , ํจ์ํํ๊ธฐ
- ํ๋์ ๊ธฐ๋ฅ์ ํด๋์ค๋ก ๋ง๋ค๊ธฐ(lotto_class.py)
- ํด๋์ค๋ก ๋ง๋ค์ด์ง ์ฝ๋์ ์ธ์คํด์ค๋ ๋ฃ๊ณ ํ์ฅ์์ผ๊ฐ๋ฉฐ ๊ธฐ๋ฅ,๊ฐ,๋งค์๋,ํจ์๋ฅผ ํ์ฉํ ์ ์๋ค (0720_3.png ์ฐธ์กฐ)
- ํด๋์ค ์์ฑ(attribute)
- ํ ํด๋์ค์ ๋ชจ๋ ์ธ์คํด์ค๋ผ๋ ๋๊ฐ์ ๊ฐ์ ๊ฐ์ง๊ณ ์๋ ์์ฑ
- ํด๋์ค ์ ์ธ ๋ด๋ถ์์ ์ ์
<classname>.<name>์ ๊ท์น์ผ๋ก ์ ๊ทผ ๋ฐ ํ ๋น
์ธ์คํด์ค ๋งค์๋: ์ธ์คํด์ค๊ฐ ํธ์ถํ๋ฉด์ ๋งค์๋ ์์ฒด์ ์ธ์คํด์ค๊ฐ ํ์ํ ๊ฒฝ์ฐ์ ์ฐ๊ธฐ
ํด๋์ค ๋งค์๋: ํด๋์ค๊ฐ ํธ์ถ์ ํ ๊ฑด๋ฐ, ๋ด๋ถ์ ์ผ๋ก ๋งค์๋ ์์ฒด์ ํด๋์ค๊ฐ ํ์ํ ๊ฒฝ์ฐ
์คํํฑ ๋งค์๋: ๋งค์๋ ์์ฒด์ ํด๋์ค, ์ธ์คํด์ค๊ฐ ํ์ ์์ ๋
- ์คํํฑ ๋ฉ์๋ ์์์ ํด๋์ค, ์ธ์คํด์ค ์ ๋! ์ธ ์ ์๋ค(๋๊ฒจ์ฃผ์ง๋ ์๊ธฐ ๋๋ฌธ)
๊ฐ์ฒด ์งํฅ์ ํต์ฌ๊ฐ๋
์ถ์ํ
์์: ์ฝ๋์ ์์ด ๋ง์ด ์ค์ด๋ฌ
- ๋งค์๋ ์ค๋ฒ๋ผ์ด๋ฉ: ๋งค์๋๋ฅผ ๋ฎ์ด์ฐ๊ธฐํด์ ์ฌ์ ์ํ๋ ๊ฒ
- ๋ค์ค ์์: ํ์ด์ฌ์์ ์ง์๋จ. ์ฅ๊ณ ์์ ํ์ตํ ์์
๋คํ์ฑ: ๋์ผํ ๋งค์๋๊ฐ ์ค์ ๋ก๋ ์์ ๋ฐ์ ๊ฒ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ํ๋ํ ์ ์๋ค๋๊ฑธ ์๋ฏธ. ๊ฐ๋จํ ๋งํด์ ๋งค์๋๋ฅผ ๋ฎ์ด์ธ ์ ์๋ค!
์บก์ํ: ์ค์ ๋ก ํ์ด์ฌ์ ์๋จ๊ณผ ๋ฐฉ๋ฒ์ ๋ค ์ฐ๋ฉด ์ ๊ทผ ๊ฐ๋ฅํ๊ธฐ ๋๋ฌธ์ ์บก์ํ ๋ถ๋ถ์ ๋น์ค์๊ฒ ๋ค๋ฃจ์ง ์์ต๋๋ค~!~! ๊ฐ๋ ์ ์ผ๋ก๋ง ์ดํดํ๊ธฐ


