๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ’ป Computer

๊ฐ์ฒด ์ง€ํ–ฅ(OOP) & ํด๋ž˜์Šค(Class) & ์ธ์Šคํ„ด์Šค (Instance)

*์ด ๊ธ€์€ '์•ˆ๋“œ๋กœ์ด๋“œwith Kotlin ์•ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ€์ด๋“œ(์•ˆ๊ท€์ • ์ €)' ์ฑ…์„ ๋ฐ”ํƒ•์œผ๋กœ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

๊ฐ์ฒด์ง€ํ–ฅ(Object Oriented) ํŒจ๋Ÿฌ๋‹ค์ž„ (ํ”„๋กœ๊ทธ๋žจ ๊ตฌ์กฐ)

-> (X) ๋‹จ์ˆœํ•œ ๋ช…๋ น์–ด์˜ ๋‚˜์—ด

-> (O) ๊ฐ๊ฐ ๋…๋ฆฝ์ ์ธ ๊ฐ์ฒด ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ

 

์ ˆ์ฐจํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ์ฒดํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ

"์ˆœ์„œ๋„"์„ค๊ณ„

๊ฐ ์‹คํ–‰๋ถ€๋ถ„ "ํ•จ์ˆ˜"๋ฅผ ์ด์šฉํ•ด ์žฌ์‚ฌ์šฉ

(๋…ผ๋ฆฌ์˜ ๋‚˜์—ด)

๊ฐ ๊ฐ์ฒด ๊ฐ„ ์ƒํ˜ธ์ž‘์šฉ

software์˜ ๊ธฐ๋ณธ ์„ค๊ณ„์— ๋Œ€ํ•œ ์‚ฌ๊ณ ๋ฐฉ์‹์„

๊ฐ์ฒด ๊ฐ„ ์ƒํ˜ธ์ž‘์šฉ์œผ๋กœ ์ƒ๊ฐํ•˜์—ฌ ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ ๋†’์ด์ž

 

๊ฐ์ฒด๋ฅผ ์„ค๊ณ„ํ•˜๊ธฐ ์œ„ํ•ด ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ๋ฒ•

"Class"๋ฅผ ํ†ตํ•ด ์ •์˜ ->Class๋ฅผ ํ†ตํ•ด ๊ฐ์ฒด์˜ ์„ค๊ณ„๋„๋ฅผ ๋งŒ๋“ฆ

์„ค๊ณ„๋„์— ๋”ฐ๋ผ ์ƒ์„ฑ๋œ ๊ฐ์ฒด๋ฅผ "Instance"๋ผ๊ณ  ํ•จ (using ์ƒ์„ฑ์ž)

 

์ ‘๊ทผ์ œ์–ด์ž for Encapsulation (์บก์Šํ™”) ์ง€์› - ๋‚ด๋ถ€ ๋ณต์žกํ•œ ๋กœ์ง์„ ์ˆจ๊ฒจ ์™ธ๋ถ€์—์„œ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๊ฒŒ

                                                         - ๋‚ด๋ถ€์˜ ์ฃผ์š” ์†์„ฑ๋“ค์„ ์™ธ๋ถ€๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธ

 

์ƒ์† : ๋‹ค๋ฅธ ํด๋ž˜์Šค์˜ ๊ธฐ๋Šฅ์„ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•˜๋ฉด์„œ ์ž์‹ ๋งŒ์˜ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•˜๋Š” ํ™•์žฅ์˜ ๊ฐœ๋…


'๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋กœ๋”ฉ' & '์˜ค๋ฒ„๋ผ์ด๋”ฉ'

 

๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋กœ๋”ฉ : ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ํ•˜์ง€๋งŒ ์ž…๋ ฅ๋ฐ›๋Š” 'ํŒŒ๋ผ๋ฏธํ„ฐ ํƒ€์ž…'์ด ๋‹ค๋ฅผ ๋•Œ

๋ฉ”์†Œ๋“œ ์˜ค๋ฒ„๋ผ์ด๋”ฉ : ์ƒ์†ํ•ด์„œ ๋ถ€๋ชจ๊ฐ€ ์ œ๊ณตํ•œ ๊ธฐ๋Šฅ์„ ๊ทธ๋Œ€๋กœ ์“ฐ์ง€ ์•Š๊ณ  ๋ฐ”๊ฟ”์„œ ์‚ฌ์šฉ @override

๋ฐ˜์‘ํ˜•