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

๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ62

[์˜ค๋ธŒ์ ํŠธ] 2์žฅ '๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ' 2์žฅ์€ ์˜ํ™” ์˜ˆ๋งค ์‹œ์Šคํ…œ์„ ํ†ตํ•ด ๊ฐ์ฒด์ง€ํ–ฅ์œผ๋กœ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋ฅผ ์„ค๋ช…ํ•ด ์ค€๋‹ค. ์˜ํ™”์˜ˆ๋งค ์‹œ์Šคํ…œ์€ ๋‹ค์Œ ์žฅ์—๋„ ๊ณ„์† ์‚ฌ์šฉ๋˜๋Š” ๋„๋ฉ”์ธ์ด๋ผ ์ตœ๋Œ€ํ•œ ์ดํ•ดํ•˜๋ ค๊ณ  ๋…ธ๋ ฅํ–ˆ์ง€๋งŒ ๊ฐ์ฒด์ง€ํ–ฅ์— ๋Œ€ํ•œ ๊ฐœ๋…์ด ๋„ˆ๋ฌด ๋งŽ์ด ๋‚˜์™€์„œ ์–ด๋ ค์› ๋‹ค. ํ˜ผ์ž ์ฝ์—ˆ์œผ๋ฉด ๋Œ€์ถฉ ์ฝ๊ณ  ๋๋‚ด๊ฑฐ๋‚˜ ํฌ๊ธฐํ–ˆ์„ํ…๋ฐ ์Šคํ„ฐ๋””๋กœ ํ•˜๋‹ˆ๊นŒ ๋™๊ธฐ๋ถ€์—ฌ(.... ๋˜๋Š” ๋ถ€๋‹ด๊ฐ?)๊ฐ€ ๋ผ์„œ 2์žฅ๋งŒ ์ตœ์†Œ 2~3๋ฒˆ์€ ์ฝ์€ ๊ฒƒ ๊ฐ™๋‹ค. ๊ทธ๋Ÿผ ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด๋ž€ ๋ฌด์—‡์ธ๊ฐ€? software development๋Š” ํ•ญ์ƒ ๋ณ€ํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ์‚ฌ์‹ค์€ ๋ณ€ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ฐœ๋ฐœ์ž์ธ ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๊ฒƒ์€ ๋ณ€๊ฒฝ์— ์œ ์—ฐํ•˜๊ฒŒ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ๋Š” ์ฝ”๋“œ(p.35)์ด๊ณ  ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ํ˜‘๋ ฅํ•˜๋Š” ๊ฐ์ฒด์‚ฌ์ด์˜ ์˜์กด์„ฑ์„ ์ ์ ˆํ•˜๊ฒŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•œ๋‹ค. 2์žฅ์—์„œ๋Š” ๊ทธ ๋ฐฉ๋ฒ•์œผ๋กœ ์ƒ์†๊ณผ ๋‹คํ˜•์„ฑ, ์ถ”์ƒํ™”์™€ ์œ ์—ฐ.. 2022. 10. 21.
[์˜ค๋ธŒ์ ํŠธ] 1์žฅ '๊ฐ์ฒด, ์„ค๊ณ„' 1์žฅ์—์„œ๋Š” ํ‹ฐ์ผ“ ํŒ๋งค ์‹œ์Šคํ…œ์„ ํ†ตํ•ด ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„๊ฐ€ ๋ฌด์—‡์ธ์ง€, ๊ฐ์ฒด์ง€ํ–ฅ ์„ค๊ณ„๊ฐ€ ์™œ ํ•„์š”ํ•œ์ง€์— ๋Œ€ํ•ด์„œ ์–˜๊ธฐํ•œ๋‹ค. 1์žฅ ์š”์•ฝ ์ ˆ์ฐจ์ ์ธ ์ฝ”๋“œ(ํ”„๋กœ์„ธ์Šค์™€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ„๋„์˜ ๋ชจ๋“ˆ์— ์œ„์น˜) => ๊ฐ์ฒด์ง€ํ–ฅ์  ์ฝ”๋“œ(๋ฐ์ดํ„ฐ์™€ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์ผํ•œ ๋ชจ๋“ˆ ์•ˆ์— ์œ„์น˜)๋กœ ๋ณ€๊ฒฝํ•˜์—ฌ ์†Œํ”„ํŠธ์›จ์–ด ๋ชจ๋“ˆ์ด ๊ฐ€์ ธ์•ผ ํ•˜๋Š” ์„ธ ๊ฐ€์ง€ ๊ธฐ๋Šฅ (1. ์‹คํ–‰ ์ค‘์— ์ œ๋Œ€๋กœ ๋™์ž‘ํ•ด์•ผ ํ•˜๋ฉฐ, 2. ๋ณ€๊ฒฝ์ด ์‰ฌ์›Œ์•ผ ํ•˜๊ณ , 3. ์ดํ•ดํ•˜๊ธฐ ์‰ฌ์›Œ์•ผ ํ•œ๋‹ค.)์„ ๋งŒ์กฑ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋„๋ก ํ•˜์˜€๋‹ค. ์˜์กด์„ฑ(dependency)์€ ์„ค๊ณ„๋ฅผ ์–ด๋ ต๊ฒŒ ๋งŒ๋“ค๊ธฐ ๋•Œ๋ฌธ์— ๋ถˆํ•„์š”ํ•œ ์˜์กด์„ฑ์„ ์ œ๊ฑฐํ•˜์—ฌ ๊ฐ์ฒด ์‚ฌ์ด์˜ ๊ฒฐํ•ฉ๋„(coupling)๋ฅผ ๋‚ฎ์ถœ ์ˆ˜ ์žˆ๋‹ค. ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถ”๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์บก์Šํ™”(encapsulation)๊ฐ€ ์žˆ๋Š”๋ฐ ์บก์Šํ™”๋Š” ๊ฐœ๋…์ ์ด๋‚˜ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๊ฐ์ฒด ๋‚ด๋ถ€์˜ ์„ธ๋ถ€์ ์ธ ์‚ฌํ•ญ์„ ๊ฐ์ถ”์–ด ๊ฐ์ฒด ๋‚ด๋ถ€.. 2022. 10. 14.