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

๐Ÿ’ป Computer

(21)
๊ฐ์ฒด ์ง€ํ–ฅ(OOP) & ํด๋ž˜์Šค(Class) & ์ธ์Šคํ„ด์Šค (Instance) *์ด ๊ธ€์€ '์•ˆ๋“œ๋กœ์ด๋“œwith Kotlin ์•ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ€์ด๋“œ(์•ˆ๊ท€์ • ์ €)' ์ฑ…์„ ๋ฐ”ํƒ•์œผ๋กœ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ฐ์ฒด์ง€ํ–ฅ(Object Oriented) ํŒจ๋Ÿฌ๋‹ค์ž„ (ํ”„๋กœ๊ทธ๋žจ ๊ตฌ์กฐ) -> (X) ๋‹จ์ˆœํ•œ ๋ช…๋ น์–ด์˜ ๋‚˜์—ด -> (O) ๊ฐ๊ฐ ๋…๋ฆฝ์ ์ธ ๊ฐ์ฒด ๊ฐ„์˜ ์ƒํ˜ธ์ž‘์šฉ ์ ˆ์ฐจํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ์ฒดํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ "์ˆœ์„œ๋„"์„ค๊ณ„ ๊ฐ ์‹คํ–‰๋ถ€๋ถ„ "ํ•จ์ˆ˜"๋ฅผ ์ด์šฉํ•ด ์žฌ์‚ฌ์šฉ (๋…ผ๋ฆฌ์˜ ๋‚˜์—ด) ๊ฐ ๊ฐ์ฒด ๊ฐ„ ์ƒํ˜ธ์ž‘์šฉ software์˜ ๊ธฐ๋ณธ ์„ค๊ณ„์— ๋Œ€ํ•œ ์‚ฌ๊ณ ๋ฐฉ์‹์„ ๊ฐ์ฒด ๊ฐ„ ์ƒํ˜ธ์ž‘์šฉ์œผ๋กœ ์ƒ๊ฐํ•˜์—ฌ ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ ๋†’์ด์ž ๊ฐ์ฒด๋ฅผ ์„ค๊ณ„ํ•˜๊ธฐ ์œ„ํ•ด ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๋ฐฉ๋ฒ• "Class"๋ฅผ ํ†ตํ•ด ์ •์˜ ->Class๋ฅผ ํ†ตํ•ด ๊ฐ์ฒด์˜ ์„ค๊ณ„๋„๋ฅผ ๋งŒ๋“ฆ ์„ค๊ณ„๋„์— ๋”ฐ๋ผ ์ƒ์„ฑ๋œ ๊ฐ์ฒด๋ฅผ "Instance"๋ผ๊ณ  ํ•จ (using ์ƒ์„ฑ์ž) ์ ‘๊ทผ์ œ์–ด์ž for Encap..
Android Basic *์ด ๊ธ€์€ '์•ˆ๋“œ๋กœ์ด๋“œwith Kotlin ์•ฑ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ฐ€์ด๋“œ(์•ˆ๊ท€์ • ์ €)' ์ฑ…์„ ๋ฐ”ํƒ•์œผ๋กœ ๊ณต๋ถ€ํ•œ ๋‚ด์šฉ์„ ์ •๋ฆฌํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฝ”๋“œ : program์ด ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š” ์ง€ ๊ธฐ์ˆ ํ•ด๋†“์€ files ๋ฆฌ์†Œ์Šค : program ์‹คํ–‰๊ณผ ๊ด€๋ จ๋œ ์ •์  data ์„ค์ • ๋ฐ ํ™˜๊ฒฝ์ •๋ณด : project๊ฐ€ ๊ฐ€์ ธ์•ผ ํ•˜๋Š” ํ™˜๊ฒฝ์ •๋ณด ๋ชจ์Œ (์†Œ์Šค์ฝ”๋“œ ๊ฒฝ๋กœ, ๋นŒ๋“œ ์ด๋ฃจ์–ด์ง€๋Š” ๋ฐฉ๋ฒ• etc) SDK (Standard Developer Kit) API (Application Programming Interface) Compile (์‚ฌ๋žŒ๊ณผ ๊ธฐ๊ณ„ ์‚ฌ์ด์˜ ์–ธ์–ด๋ฅผ ์ดํ•ดํ•˜๊ณ  ๋œป์„ ์ „๋‹ฌ) *์ปดํŒŒ์ผ์„ ํ•ด๋„ ์ฝ”๋“œ๋Š” ๋ฐ”๋กœ ์‹คํ–‰๋˜์ง€ ์•Š๋Š”๋‹ค. WHY? ์ฝ”๋“œ ๊ฐ„ ์กด์žฌํ•  ์ˆ˜ ์žˆ๋Š” ์˜์กด์„ฑ ๋•Œ๋ฌธ ex) A์ฝ”๋“œ์˜ 'write'๊ธฐ๋Šฅ์ด B์ฝ”๋“œ์— ์žˆ์„ ์ˆ˜ ์žˆ์Œ. => ๊ฐ ์ฝ”๋“œ..