# [[KISS Principle]] ## πŸ“Œ Brief Summary KISS(Keep It Simple, Stupid) 원칙은 λ³΅μž‘μ„±λ³΄λ‹€λŠ” λ‹¨μˆœμ„±μ„ 항상 μ„ νƒν•˜μ—¬ μ½”λ“œλ₯Ό μ΄ν•΄ν•˜κ³  μœ μ§€λ³΄μˆ˜ν•˜κΈ° μ‰½κ²Œ λ§Œλ“œλŠ” μ†Œν”„νŠΈμ›¨μ–΄ μ—”μ§€λ‹ˆμ–΄λ§ μ›μΉ™μž…λ‹ˆλ‹€ [1, 2]. React 개발 ν™˜κ²½μ—μ„œλŠ” μ»΄ν¬λ„ŒνŠΈ λ‘œμ§μ„ λ‹¨μˆœν™”ν•˜κ³  μ‘°κΈ° μ΅œμ ν™”(premature optimization)λ₯Ό ν”Όν•˜λŠ” λ°©ν–₯으둜 μ μš©λ©λ‹ˆλ‹€ [3]. ν•¨μˆ˜λ‚˜ μ»΄ν¬λ„ŒνŠΈκ°€ λΉ„λŒ€ν•΄μ§ˆ 경우, μ½”λ“œλ₯Ό 'λ‹¨μˆœν•˜κ³  λ©μ²­ν•˜κ²Œ(simple and dumb)' 남겨두기 μœ„ν•΄ 더 μž‘κ³  직관적인 논리적 λΆ€λΆ„μœΌλ‘œ λΆ„ν• ν•  것을 ꢌμž₯ν•©λ‹ˆλ‹€ [2]. ## πŸ“– Core Content * **λ‹¨μˆœμ„± μš°μ„ :** KISS 원칙은 μ½”λ“œλ₯Ό λͺ…ν™•ν•˜κ³  λ‹¨μˆœν•˜κ²Œ μž‘μ„±ν•˜λŠ” 것을 ν•΅μ‹¬μœΌλ‘œ ν•©λ‹ˆλ‹€ [1]. μ½”λ“œκ°€ λ‹¨μˆœν• μˆ˜λ‘ μ§κ΄€μ μœΌλ‘œ μ΄ν•΄ν•˜κΈ° 쉽고 디버깅이 μˆ˜μ›”ν•΄μ§‘λ‹ˆλ‹€ [4]. 이 원칙은 λΉ λ₯Έ ν”„λ‘œν† νƒ€μ΄ν•‘μ„ μ§„ν–‰ν•˜κ±°λ‚˜ λ‹¨μˆœν•œ μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ„ κ°œλ°œν•  λ•Œ 특히 μœ μš©ν•˜κ²Œ μ‚¬μš©λ©λ‹ˆλ‹€ [3]. * **React ν™˜κ²½μ—μ„œμ˜ 적용:** Reactμ—μ„œ KISS 원칙을 μ€€μˆ˜ν•˜λ €λ©΄ μ»΄ν¬λ„ŒνŠΈμ˜ λ‘œμ§μ„ λ³΅μž‘ν•˜κ²Œ λ§Œλ“€μ§€ μ•Šκ³  μ‘°κΈ° μ΅œμ ν™”λ₯Ό ν”Όν•΄μ•Ό ν•©λ‹ˆλ‹€ [3]. μ»΄ν¬λ„ŒνŠΈμ™€ ν•¨μˆ˜κ°€ μ„±μž₯함에 따라 논리λ₯Ό λΆ„λ¦¬ν•˜μ—¬ μž‘κ³  이해 κ°€λŠ₯ν•œ λ‹¨μœ„λ‘œ μœ μ§€ν•˜λŠ” 것이 μ€‘μš”ν•©λ‹ˆλ‹€ [2]. * **DRY μ›μΉ™κ³Όμ˜ κ· ν˜• 및 ν•œκ³„:** "Don't Repeat Yourself"λ₯Ό λœ»ν•˜λŠ” DRY 원칙을 λ¬΄λ¦¬ν•˜κ²Œ μ μš©ν•˜λ‹€ 보면 KISS 원칙을 μœ„λ°˜ν•˜κΈ° μ‰½μŠ΅λ‹ˆλ‹€ [5]. μ½”λ“œμ˜ 쀑볡을 ν”Όν•˜λ €κ³  μž¬μ‚¬μš© κ°€λŠ₯ν•œ 좔상화(예: μ»€μŠ€ν…€ ν›…)λ₯Ό λ§Œλ“€μ—ˆμ„ λ•Œ, κ·Έ μΆ”μƒν™”λœ μ½”λ“œκ°€ 원본 μ½”λ“œλ³΄λ‹€ μ΄ν•΄ν•˜κΈ° μ–΄λ ΅λ‹€λ©΄ μΆ”μƒν™”μ˜ λͺ©μ μ„ μƒμ‹€ν•œ κ²ƒμž…λ‹ˆλ‹€ [5]. λ”°λΌμ„œ νŒ¨ν„΄μ΄ μ΅œμ†Œ 3번 반볡될 λ•ŒκΉŒμ§€ 좔상화λ₯Ό λ―Έλ£¨λŠ” μ „λž΅μ΄ ꢌμž₯되며, 이λ₯Ό 톡해 λ„ˆλ¬΄ 이λ₯Έ μ΅œμ ν™”λ₯Ό λ°©μ§€ν•˜κ³  μ½”λ“œλ₯Ό μ‰½κ²Œ 디버깅할 수 μžˆλŠ” μƒνƒœλ‘œ μœ μ§€ν•  수 μžˆμŠ΅λ‹ˆλ‹€ [5]. * **νŠΈλ ˆμ΄λ“œμ˜€ν”„:** λ‹¨μˆœν•˜κ³  직관적인 ꡬ쑰 덕뢄에 디버깅이 μš©μ΄ν•΄μ§„λ‹€λŠ” 큰 μž₯점이 μžˆμ§€λ§Œ, λ³΅μž‘ν•œ λ¬Έμ œμ— λŒ€ν•΄ 해결책을 μ§€λ‚˜μΉ˜κ²Œ λ‹¨μˆœν™”(oversimplify)해버릴 μœ„ν—˜μ΄ μžˆλ‹€λŠ” 단점도 μ‘΄μž¬ν•©λ‹ˆλ‹€ [4]. ## πŸ”— Knowledge Connections - **Related Topics:** [[DRY Principle]], [[Clean Code]], [[Refactoring Techniques]] - **Projects/Contexts:** [[React Component Optimization]], [[Frontend Architecture]] - **Contradictions/Notes:** μ½”λ“œ 쀑볡을 μ œκ±°ν•˜κΈ° μœ„ν•œ [[DRY Principle]]κ³Ό μΆ©λŒν•  μ—¬μ§€κ°€ μžˆμŠ΅λ‹ˆλ‹€. κ³Όλ„ν•œ 좔상화가 μ½”λ“œμ˜ 가독성을 ν•΄μΉœλ‹€λ©΄, λ¬΄λ¦¬ν•œ 쀑볡 μ œκ±°λ³΄λ‹€λŠ” [[KISS Principle]]을 따라 직관성을 μœ μ§€ν•˜λŠ” 것이 더 ꢌμž₯λ©λ‹ˆλ‹€ [5]. --- *Last updated: 2026-04-26*