--- id: P-REINFORCE-AUTO-57A5BA category: "10_Wiki/๐Ÿ’ก Topics/Design & Experience" confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[P-Reinforce] Continuous Worker - ์˜์กด์„ฑ ๊ทœ์น™ (Dependency Rule)" --- # [[แ„‹แ…ดแ„Œแ…ฉแ†ซแ„‰แ…ฅแ†ผ แ„€แ…ฒแ„Žแ…ตแ†จ (Dependency Rule)|์˜์กด์„ฑ ๊ทœ์น™ (Dependency Rule)]] ## ๐Ÿ“Œ ํ•œ ์ค„ ํ†ต์ฐฐ (The Karpathy Summary) > ์˜์กด์„ฑ ๊ทœ์น™(Dependency Rule)์€ ํด๋ฆฐ ์•„ํ‚คํ…์ฒ˜(Clean Architecture)์˜ ํ•ต์‹ฌ ์›์น™์œผ๋กœ, ๋ชจ๋“  ์†Œ์Šค ์ฝ”๋“œ ์˜์กด์„ฑ์ด ๋ฐ˜๋“œ์‹œ ๊ณ ์ˆ˜์ค€์˜ ํ•ต์‹ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ํ–ฅํ•ด '์•ˆ์ชฝ์œผ๋กœ๋งŒ' ํ–ฅํ•ด์•ผ ํ•œ๋‹ค๋Š” ์›์น™์ž…๋‹ˆ๋‹ค [1-3]. ์ด ๊ทœ์น™์€ ๋‚ด๋ถ€ ๊ณ„์ธต(๋‡Œ)์ด ์™ธ๋ถ€ ๊ณ„์ธต(ํŒ”๋‹ค๋ฆฌ)์˜ ์กด์žฌ์— ๋Œ€ํ•ด ์ „ํ˜€ ์•Œ์ง€ ๋ชปํ•˜๋„๋ก ํ†ต์ œํ•˜์—ฌ ์‹œ์Šคํ…œ์˜ ๊ฒฐํ•ฉ๋„๋ฅผ ๋‚ฎ์ถ”๊ณ  ๋…๋ฆฝ์„ฑ์„ ๊ทน๋Œ€ํ™”ํ•ฉ๋‹ˆ๋‹ค [2-4]. ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋น„์ฆˆ๋‹ˆ์Šค์˜ ๋ณธ์งˆ์ ์ธ ๊ทœ์น™์„ UI, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ํ”„๋ ˆ์ž„์›Œํฌ ๋“ฑ ๋ณ€๋™์„ฑ์ด ๋†’์€ ๊ธฐ์ˆ ์  ์„ธ๋ถ€ ์‚ฌํ•ญ์œผ๋กœ๋ถ€ํ„ฐ ์™„๋ฒฝํ•˜๊ฒŒ ๊ฒฉ๋ฆฌํ•˜๊ณ  ๋ณดํ˜ธํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค [1, 4, 5]. ## ๐Ÿ“– ๊ตฌ์กฐํ™”๋œ ์ง€์‹ (Synthesized Content) * **์˜์กด์„ฑ์˜ ๋ฐฉํ–ฅ (Direction of Dependencies)** ์˜์กด์„ฑ ๊ทœ์น™์— ๋”ฐ๋ฅด๋ฉด ์†Œํ”„ํŠธ์›จ์–ด์˜ ์†Œ์Šค ์ฝ”๋“œ ์˜์กด์„ฑ์€ ์˜ค์ง ์•ˆ์ชฝ, ์ฆ‰ ์ค‘์•™์˜ ํ•ต์‹ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง(์—”ํ‹ฐํ‹ฐ ๋ฐ ์œ ์Šค์ผ€์ด์Šค ๋“ฑ)์œผ๋กœ๋งŒ ํ–ฅํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [1, 3]. ์ด๋Š” ์ €์ˆ˜์ค€์˜ ๋ชจ๋“ˆ(์™ธ๋ถ€์˜ ํ”„๋ ˆ์ž„์›Œํฌ๋‚˜ UI)์ด ๊ณ ์ˆ˜์ค€์˜ ๋ชจ๋“ˆ(๋‚ด๋ถ€์˜ ๋„๋ฉ”์ธ)์— ์˜์กดํ•ด์•ผ ํ•˜๋ฉฐ, ๊ณ ์ˆ˜์ค€ ๋ชจ๋“ˆ์€ ์™ธ๋ถ€ ๊ธฐ๊ด€์— ๊ฒฐ์ฝ” ์˜์กดํ•ด์„œ๋Š” ์•ˆ ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค [2]. * **๋‚ด๋ถ€ ๊ณ„์ธต์˜ ์™„์ „ํ•œ ๊ฒฉ๋ฆฌ (Isolation of Inner Layers)** ๋‚ด๋ถ€์˜ ์›์— ์†ํ•œ ์ฝ”๋“œ(๋‡Œ)๋Š” ์™ธ๋ถ€์˜ ์›์— ์„ ์–ธ๋œ ์–ด๋–ค ๊ฒƒ(ํŒ”๋‹ค๋ฆฌ)์— ๋Œ€ํ•ด์„œ๋„ ๊ทธ ์ด๋ฆ„์„ ์–ธ๊ธ‰ํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค [3]. ์ฆ‰, ํ•จ์ˆ˜, ํด๋ž˜์Šค, ๋ณ€์ˆ˜ ๋“ฑ ์™ธ๋ถ€์— ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ์†Œํ”„ํŠธ์›จ์–ด ์š”์†Œ์˜ ์กด์žฌ๋ฅผ ๋‚ด๋ถ€ ๊ณ„์ธต์€ ๋ชฐ๋ผ์•ผ ํ•ฉ๋‹ˆ๋‹ค [3]. ์ด๋ฅผ ํ†ตํ•ด ์™ธ๋ถ€์˜ ์ธํ”„๋ผ์ŠคํŠธ๋Ÿญ์ฒ˜๊ฐ€ ๋ณ€๊ฒฝ๋˜๋”๋ผ๋„ ํ•ต์‹ฌ ๋น„์ฆˆ๋‹ˆ์Šค ๊ทœ์น™์ด ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋„๋ก ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค [4, 6]. * **๋ฐ์ดํ„ฐ ํ˜•์‹์˜ ๋…๋ฆฝ์„ฑ (Data Format Independence)** ์™ธ๋ถ€ ์›์—์„œ ์„ ์–ธ๋œ ๋ฐ์ดํ„ฐ ํ˜•์‹์ด๋‚˜ ํŠน์ • ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ์ƒ์„ฑํ•œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๋‚ด๋ถ€ ์›์—์„œ ์ ˆ๋Œ€๋กœ ์‚ฌ์šฉํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค [3]. ๊ณ„์ธต์˜ ๊ฒฝ๊ณ„๋ฅผ ๊ฐ€๋กœ์งˆ๋Ÿฌ ๋ฐ์ดํ„ฐ๋ฅผ ์ „๋‹ฌํ•  ๋•Œ๋Š”, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ–‰(Row) ๊ฐ™์€ ์™ธ๋ถ€ ํฌ๋งท์ด ์•„๋‹Œ ๋‚ด๋ถ€์˜ ์›์—์„œ ์‚ฌ์šฉํ•˜๊ธฐ ํŽธ๋ฆฌํ•œ ํ˜•ํƒœ(๊ฐ„๋‹จํ•œ ๋ฐ์ดํ„ฐ ์ „์†ก ๊ฐ์ฒด๋‚˜ ๊ตฌ์กฐ์ฒด)๋กœ ๋ณ€ํ™˜๋˜์–ด ์ „๋‹ฌ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [6, 7]. * **๊ฒฝ๊ณ„ ํšก๋‹จ๊ณผ ์˜์กด์„ฑ ์—ญ์ „ ์›์น™ (Crossing Boundaries and DIP)** ์‹œ์Šคํ…œ์˜ ์ œ์–ด ํ๋ฆ„์ด ์˜์กด์„ฑ ๊ทœ์น™๊ณผ ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ์œผ๋กœ ํ–ฅํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ(์˜ˆ๋ฅผ ๋“ค์–ด, ๋‚ด๋ถ€์˜ ์œ ์Šค์ผ€์ด์Šค ๊ณ„์ธต์ด ์™ธ๋ถ€์˜ ํ”„๋ ˆ์  ํ„ฐ ๊ณ„์ธต์„ ํ˜ธ์ถœํ•ด์•ผ ํ•  ๋•Œ), ์ด๋ฅผ ์ง์ ‘ ํ˜ธ์ถœํ•˜๋ฉด ์˜์กด์„ฑ ๊ทœ์น™์„ ์œ„๋ฐฐํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค [8]. ์ด ๋ฌธ์ œ๋Š” ์˜์กด์„ฑ ์—ญ์ „ ์›์น™(DIP)๊ณผ ๋™์  ๋‹คํ˜•์„ฑ์„ ํ™œ์šฉํ•˜์—ฌ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค [8, 9]. ๋‚ด๋ถ€ ๊ณ„์ธต์— ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ •์˜ํ•˜๊ณ  ์™ธ๋ถ€ ๊ณ„์ธต์ด ์ด๋ฅผ ๊ตฌํ˜„ํ•˜๊ฒŒ ํ•จ์œผ๋กœ์จ, ์ œ์–ด ํ๋ฆ„์ด ๋ฐ–์œผ๋กœ ํ–ฅํ•˜๋”๋ผ๋„ ์†Œ์Šค ์ฝ”๋“œ ์˜์กด์„ฑ์€ ๊ณ„์† ์•ˆ์ชฝ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“ญ๋‹ˆ๋‹ค [8-10]. ## โš ๏ธ ๋ชจ์ˆœ ๋ฐ ์—…๋ฐ์ดํŠธ (Contradictions & RL Update) - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ž๋™ํ™” ์—”์ง„์— ์˜ํ•ด ๋งคํ•‘๋œ ์ง€์‹์œผ๋กœ, ์ถ”ํ›„ ์ •๋ฐ€ ๊ฒ€์ฆ ํ•„์š”. - **์ •์ฑ… ๋ณ€ํ™”:** Design & Experience ๋ถ„์•ผ์˜ ์ž๋™ ์ž์‚ฐํ™” ์ˆ˜ํ–‰. ## ๐Ÿ”— ์ง€์‹ ์—ฐ๊ฒฐ (Graph) - **Related Topics:** [[แ„แ…ณแ†ฏแ„…แ…ตแ†ซ แ„‹แ…กแ„แ…ตแ„แ…ฆแ†จแ„Žแ…ฅ (Clean Architecture)|ํด๋ฆฐ ์•„ํ‚คํ…์ฒ˜ (Clean Architecture)]], [[แ„‹แ…ดแ„Œแ…ฉแ†ซแ„‰แ…ฅแ†ผ แ„‹แ…งแ†จแ„Œแ…ฅแ†ซ แ„‹แ…ฏแ†ซแ„Žแ…ตแ†จ (Dependency Inversion Principle, DIP)|์˜์กด์„ฑ ์—ญ์ „ ์›์น™ (Dependency Inversion Principle, DIP)]], [[แ„‹แ…ฆแ†ซแ„แ…ตแ„แ…ต (Entities)|์—”ํ‹ฐํ‹ฐ (Entities)]], [[แ„‹แ…ฒแ„‰แ…ณแ„แ…ฆแ„‹แ…ตแ„‰แ…ณ (Use Cases)|์œ ์Šค์ผ€์ด์Šค (Use Cases)]] - **Projects/Contexts:** [[แ„‹แ…ฆแ†ซแ„แ…ฅแ„‘แ…ณแ„…แ…กแ„‹แ…ตแ„Œแ…ณ แ„‰แ…ฉแ„‘แ…ณแ„แ…ณแ„‹แ…ฐแ„‹แ…ฅ แ„‰แ…ตแ„‰แ…ณแ„แ…ฆแ†ท แ„‰แ…ฅแ†ฏแ„€แ…จ|์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์†Œํ”„ํŠธ์›จ์–ด ์‹œ์Šคํ…œ ์„ค๊ณ„]], [[แ„†แ…ฉแ„ƒแ…ฒแ†ฏแ„’แ…ช แ„†แ…ตแ†พ แ„‹แ…กแ„แ…ตแ„แ…ฆแ†จแ„Žแ…ฅ แ„€แ…งแ†ผแ„€แ…จ แ„‰แ…ฅแ†ฏแ„Œแ…ฅแ†ผ|๋ชจ๋“ˆํ™” ๋ฐ ์•„ํ‚คํ…์ฒ˜ ๊ฒฝ๊ณ„ ์„ค์ •]] - **Contradictions/Notes:** ์˜์กด์„ฑ ๊ทœ์น™์„ ์—„๊ฒฉํ•˜๊ฒŒ ์ค€์ˆ˜ํ•˜๊ธฐ ์œ„ํ•ด ์™„๋ฒฝํ•œ ์•„ํ‚คํ…์ฒ˜ ๊ฒฝ๊ณ„(์Œ๋ฐฉํ–ฅ ๋‹คํ˜•์  ์ธํ„ฐํŽ˜์ด์Šค, ๋ถ„๋ฆฌ๋œ ์ž…/์ถœ๋ ฅ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ ๋“ฑ)๋ฅผ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ์ดˆ๊ธฐ ์„ค์ • ๋ฐ ์œ ์ง€๋ณด์ˆ˜ ๋น„์šฉ์ด ์ƒ๋‹นํžˆ ํฝ๋‹ˆ๋‹ค [11]. ๋”ฐ๋ผ์„œ ๋ชจ๋“  ์ƒํ™ฉ์— ์ด ๊ทœ์น™์„ ์—„๊ฒฉํžˆ ์ ์šฉํ•˜๊ธฐ๋ณด๋‹ค๋Š”, ํ”„๋กœ์ ํŠธ์˜ ๊ทœ๋ชจ์— ๋”ฐ๋ผ ์ „๋žต ํŒจํ„ด์ด๋‚˜ ํผ์‚ฌ๋“œ(Facade) ํŒจํ„ด์„ ํ™œ์šฉํ•œ ๋ถ€๋ถ„์  ๊ฒฝ๊ณ„(Partial Boundary)๋ฅผ ๋‘๊ฑฐ๋‚˜ ์‹ค๋ฌด์  ํƒ€ํ˜‘์„ ํ•˜๋Š” ๊ฒฝ์šฐ๋„ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค [11-13]. --- *Last updated: 2026-04-18* - Raw Source: 00_Raw/2026-04-20/์˜์กด์„ฑ ๊ทœ์น™ (Dependency Rule).md ---