--- id: wiki-2026-0508-high-cohesion-low-coupling title: High Cohesion Low Coupling category: 10_Wiki/Topics status: needs_review canonical_id: self aliases: [P-Reinforce-AUTO-HCLC-001] duplicate_of: none source_trust_level: A confidence_score: 0.98 tags: [auto-reinforced, software-craftsmanship, Modularity, Architecture, cohesion, coupling, design-patterns] raw_sources: [] last_reinforced: 2026-04-20 github_commit: pending inferred_by: Claude Opus 4.7 (auto-normalize 2026-05-08) tech_stack: language: unspecified framework: unspecified --- # [[High-Cohesion-Low-Coupling|High-Cohesion-Low-Coupling]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > "λ‹¨λ‹¨ν•œ 블둝, λŠμŠ¨ν•œ μ—°κ²°: ν•˜λ‚˜μ˜ λͺ¨λ“ˆμ€ 였직 ν•˜λ‚˜μ˜ λͺ©μ μ—λ§Œ μ§‘μ€‘ν•˜μ—¬ λ‚΄λΆ€λ₯Ό 꽉 μ±„μš°κ³ (Cohesion), λ‹€λ₯Έ λͺ¨λ“ˆκ³ΌλŠ” μ΅œμ†Œν•œμ˜ μ ‘μ λ§Œ μœ μ§€ν•˜μ—¬(Coupling) ν•˜λ‚˜κ°€ κ³ μž₯ λ‚˜λ„ 전체가 λ¬΄λ„ˆμ§€μ§€ μ•Šκ²Œ λ§Œλ“œλŠ” μ„€κ³„μ˜ μ„±λ°°." ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) 고응집 μ €κ²°ν•©(High-Cohesion-Low-Coupling)은 μ†Œν”„νŠΈμ›¨μ–΄ μ„€κ³„μ˜ ν’ˆμ§ˆμ„ κ²°μ •ν•˜λŠ” κ°€μž₯ κ³ μ „μ μ΄λ©΄μ„œ κ°•λ ₯ν•œ μ›μΉ™μž…λ‹ˆλ‹€. 1. **High Cohesion (고응집)**: * λͺ¨λ“ˆ λ‚΄λΆ€μ˜ μš”μ†Œλ“€μ΄ ν•˜λ‚˜μ˜ μ±…μž„(Single Responsibility)을 μœ„ν•΄ μ–Όλ§ˆλ‚˜ λ°€μ ‘ν•˜κ²Œ ν˜‘λ ₯ν•˜λŠ”κ°€. ([[DDD-Type-Safety|DDD-Type-Safety]]와 μ—°κ²°) * **μž₯점**: 가독성 ν–₯상, μž¬μ‚¬μš©μ„± 증가. 2. **Low Coupling (μ €κ²°ν•©)**: * μ„œλ‘œ λ‹€λ₯Έ λͺ¨λ“ˆ κ°„μ˜ μ˜μ‘΄μ„± 강도. * **μž₯점**: ν•œ 곳의 λ³€κ²½ 정책이 λ‹€λ₯Έ 곳에 λ―ΈμΉ˜λŠ” 영ν–₯ μ •μ±… μ΅œμ†Œν™” (Side-effect λ°©μ§€). ([[Reliability|Reliability]]와 μ—°κ²°) 3. **μ™œ μ€‘μš”ν•œκ°€?**: * λ³΅μž‘ν•œ μ‹œμŠ€ν…œ μ •μ±…μ˜ μœ μ§€λ³΄μˆ˜ λΉ„μš© 정책을 κ²°μ •ν•˜λ©°, λŒ€κ·œλͺ¨ νŒ€ ν˜‘μ—… μ‹œ μ½”λ“œ 좩돌 정책을 λ°©μ§€ν•˜λŠ” ꡬ쑰적 방패이기 λ•Œλ¬Έμž„. (Modularity와 μ—°κ²°) ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & Updates) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌**: κ³Όκ±°μ—λŠ” λͺ¨λ“  κΈ°λŠ₯을 ν•œ 곳에 λͺ¨μœΌλŠ” 'Monolithic' 정책이 μ„±λŠ₯ λ©΄μ—μ„œ μš°μˆ˜ν•˜λ‹€κ³  λ―Ώμ—ˆμœΌλ‚˜, ν˜„λŒ€ 정책은 μ½”λ“œλ² μ΄μŠ€κ°€ 컀짐에 따라 λ°œμƒν•˜λŠ” 'Dirty code μ •μ±…'의 λΉ„μš© 정책이 훨씬 컀짐을 μΈμ§€ν•˜κ³  λ§ˆμ΄ν¬λ‘œμ„œλΉ„μŠ€(MSA) μ •μ±…μ²˜λŸΌ 극단적인 μ €κ²°ν•© 정책을 μ§€ν–₯함(RL Update). - **μ •μ±… λ³€ν™”(RL Update)**: μ΄μ œλŠ” λ‹¨μˆœ μ½”λ“œ 섀계 정책을 λ„˜μ–΄, 쑰직 ꡬ쑰 μ •μ±…κΉŒμ§€λ„ μ†Œν”„νŠΈμ›¨μ–΄ μ•„ν‚€ν…μ²˜ μ •μ±…κ³Ό μΌμΉ˜μ‹œμΌœμ•Ό ν•œλ‹€λŠ” 'Conway's Law'λ₯Ό 기반으둜 νŒ€ λΉŒλ”© 정책에도 이 원칙 정책이 적용됨. ## πŸ”— 지식 μ—°κ²° (Graph) - [[DDD-Type-Safety|DDD-Type-Safety]], [[Reliability|Reliability]], [[Modularity|Modularity]], [[Technical-Architecture|Technical-Architecture]], Standard-Operating-Procedure, Clean-Code - **Key Principle**: SOLID [[Principles|Principles]]. --- ## πŸ€– LLM ν™œμš© 힌트 (How to Use This Knowledge) **μ–Έμ œ 이 지식을 μ“°λŠ”κ°€:** - *(TODO)* **μ–Έμ œ μ“°λ©΄ μ•ˆ λ˜λŠ”κ°€:** - *(TODO)* ## πŸ§ͺ 검증 μƒνƒœ (Validation) - **정보 μƒνƒœ:** needs_review - **좜처 신뒰도:** A - **κ²€ν†  이유:** *(P-Reinforce Phase 1 μžλ™ μ •κ·œν™”. λ³Έλ¬Έ 검증 ν•„μš”.)* ## 🧬 쀑볡 검사 (Duplicate Check) - **κΈ°μ‘΄ μœ μ‚¬ λ¬Έμ„œ:** *(TODO: μΈλ±μ„œ ν΄λŸ¬μŠ€ν„° 리포트 μ°Έμ‘°)* - **처리 방식:** UPDATE (μžλ™ μ •κ·œν™”) - **처리 이유:** Phase 1 μ •κ·œν™” β€” μ˜› ν…œν”Œλ¦Ώ/λˆ„λ½ ν•„λ“œ 보강. ## πŸ•“ λ³€κ²½ 이λ ₯ (Changelog) | λ‚ μ§œ | λ³€κ²½ λ‚΄μš© | 처리 방식 | 신뒰도 | |------|-----------|-----------|--------| | 2026-05-08 | P-Reinforce Phase 1 μ •κ·œν™” (frontmatter + 헀더 ν‘œμ€€ν™”) | UPDATE | A | ## πŸ’» μ½”λ“œ νŒ¨ν„΄ (Code Patterns) **νŒ¨ν„΄ 1:** *(TODO: 이 ν”„λ‘œμ νŠΈ μ»¨λ²€μ…˜ λ°˜μ˜ν•œ ꡬ쑰 μŠ€μΌˆλ ˆν†€)* ```text # TODO ``` ## πŸ€” μ˜μ‚¬κ²°μ • κΈ°μ€€ (Decision Criteria) **선택 Aλ₯Ό 써야 ν•  λ•Œ:** - *(TODO)* **선택 Bλ₯Ό 써야 ν•  λ•Œ:** - *(TODO)* **κΈ°λ³Έκ°’:** > *(TODO)* ## ❌ μ•ˆν‹°νŒ¨ν„΄ (Anti-Patterns) - **[μ•ˆν‹°νŒ¨ν„΄]:** *(TODO: 무엇을 ν•˜λ©΄ μ•ˆ λ˜λŠ”κ°€ + 이유 + λŒ€μ‹  무엇을)*