--- category: Unified tags: [auto-consolidated, technical-documentation] title: [[Single-Responsibility-Principle|Single-Responsibility-Principle]] last_updated: 2026-05-02 --- # [[Single-Responsibility-Principle|Single-Responsibility-Principle]] ## ๐Ÿ“Œ Brief Summary > ์ง€์‹ ์š”์•ฝ ์ •๋ณด ์ถ”์ถœ ์ค‘... --- > ๋‹จ์ผ ์ฑ…์ž„ ์›์น™(SRP)์€ ํด๋ž˜์Šค, ๋ชจ๋“ˆ ๋˜๋Š” ํ•จ์ˆ˜๊ฐ€ ๋‹จ ํ•˜๋‚˜์˜ ์ž‘์—…์ด๋‚˜ ์ฑ…์ž„๋งŒ์„ ๊ฐ€์ ธ์•ผ ํ•˜๋ฉฐ, ๊ทธ ์ฝ”๋“œ๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด์•ผ ํ•  ์ด์œ ๋„ ๋‹จ ํ•˜๋‚˜์—ฌ์•ผ ํ•œ๋‹ค๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„์˜ ํ•ต์‹ฌ ์›์น™์ž…๋‹ˆ๋‹ค [1-3]. ์ด ์›์น™์€ ๋ณต์žกํ•œ ์‹œ์Šคํ…œ์„ ๋ชจ๋“ˆํ™”ํ•˜๊ณ  ์œ ์ง€๋ณด์ˆ˜์„ฑ์„ ๋†’์ด๊ธฐ ์œ„ํ•œ '๊ด€์‹ฌ์‚ฌ์˜ ๋ถ„๋ฆฌ(SoC)' ๊ฐœ๋…์„ ๊ฐœ๋ณ„ ํด๋ž˜์Šค๋‚˜ ํ•จ์ˆ˜ ์ˆ˜์ค€์—์„œ ๊ทน๋Œ€ํ™”ํ•œ ๊ฒƒ์œผ๋กœ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [3-5]. ์ด๋ฅผ ์ ์šฉํ•˜๋ฉด ์ฝ”๋“œ์˜ ๋ชฉ์ ์ด ๋ช…ํ™•ํ•ด์ง€๊ณ , ํ•˜๋‚˜์˜ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์‹œ์Šคํ…œ์˜ ๋‹ค๋ฅธ ๋ถ€๋ถ„์— ๋ฏธ์น˜๋Š” ์˜ํ–ฅ์„ ์ตœ์†Œํ™”ํ•˜์—ฌ ๋ฒ„๊ทธ ๋ฐœ์ƒ ๊ฐ€๋Šฅ์„ฑ์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [6]. ## ๐Ÿ“– Core Content ๋ณธ๋ฌธ ๊ตฌ์กฐํ™” ์ž‘์—… ์ค‘... --- - **์ •์˜ ๋ฐ ํ•ต์‹ฌ ๊ฐœ๋…** ๋‹จ์ผ ์ฑ…์ž„ ์›์น™์€ ํŠน์ • ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ์ฒด(ํด๋ž˜์Šค, ํ•จ์ˆ˜ ๋“ฑ)๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด์•ผ ํ•  ์ด์œ ๊ฐ€ ๋‹จ ํ•˜๋‚˜๋ฟ์ด์–ด์•ผ ํ•จ์„ ๊ทœ์ •ํ•ฉ๋‹ˆ๋‹ค [1, 3]. ์ด๋Š” ๊ฐ ๋ชจ๋“ˆ์ด๋‚˜ ํด๋ž˜์Šค๊ฐ€ ํ•˜๋‚˜์˜ ์—ญํ• ์—๋งŒ ์ง‘์ค‘ํ•ด์•ผ ํ•จ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค [5]. ์˜ˆ๋ฅผ ๋“ค์–ด, ์žฅ๋ฐ”๊ตฌ๋‹ˆ์˜ ์ด๊ฐ€๊ฒฉ์„ ๊ณ„์‚ฐํ•˜๋Š” ํ•จ์ˆ˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ํ™”๋ฉด์— ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•ด ํฌ๋งท์„ ๋งž์ถ”๋Š” ์ž‘์—…์„ ๋™์‹œ์— ์ฒ˜๋ฆฌํ•ด์„œ๋Š” ์•ˆ ๋˜๋ฉฐ [7], ์‚ฌ์šฉ์ž ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์กฐํšŒํ•˜๋Š” ํด๋ž˜์Šค๋Š” ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ๊ฒ€์ฆํ•˜๋Š” ์—ญํ• ์„ ํ•จ๊ป˜ ๋งก์•„์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค [1]. - **๊ด€์‹ฌ์‚ฌ์˜ ๋ถ„๋ฆฌ(SoC)์™€์˜ ๊ด€๊ณ„** ๋‹จ์ผ ์ฑ…์ž„ ์›์น™์€ ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™์˜ '๊ด€์‹ฌ์‚ฌ์˜ ๋ถ„๋ฆฌ(SoC)' ์ฒ ํ•™์—์„œ ํŒŒ์ƒ๋œ ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„์˜ SOLID ์›์น™ ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค [8-10]. SoC๊ฐ€ ์ „๋ฐ˜์ ์ธ ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜๋‚˜ ๋Œ€๊ทœ๋ชจ ๋ชจ๋“ˆ ๋‹จ์œ„์—์„œ ๋…ผ๋ฆฌ์  ๊ด€์‹ฌ์‚ฌ๋ฅผ ๋ถ„๋ฆฌํ•˜์—ฌ ๋ณต์žก์„ฑ์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ์ค‘์ ์„ ๋‘”๋‹ค๋ฉด, SRP๋Š” ์ด๋ฅผ ๊ฐœ๋ณ„ ํด๋ž˜์Šค๋‚˜ ๋ชจ๋“ˆ ์ˆ˜์ค€์˜ "์ฑ…์ž„"์œผ๋กœ ์„ธ๋ถ„ํ™”ํ•˜์—ฌ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค [3, 11]. ๋ณธ์งˆ์ ์œผ๋กœ SRP๋Š” ๊ด€์‹ฌ์‚ฌ์˜ ๋ถ„๋ฆฌ ์›์น™์„ ๊ฐ€์žฅ ๊ทน๋‹จ์ ์ธ ์ˆ˜์ค€๊นŒ์ง€ ๊ฐ€์ ธ๊ฐ„ ํ˜•ํƒœ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค [4]. - **์„ค๊ณ„ ์ƒ์˜ ์ด์ ** - **๊ฐ€๋…์„ฑ ๋ฐ ์œ ์ง€๋ณด์ˆ˜์„ฑ ํ–ฅ์ƒ:** ํด๋ž˜์Šค์™€ ํ•จ์ˆ˜๊ฐ€ ์˜ค์ง ํ•˜๋‚˜์˜ ๋ชฉ์ ๋งŒ ๊ฐ€์ง€๊ฒŒ ๋˜์–ด ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ตฌ์กฐ์— ๋น„ํ•ด ์ฝ”๋“œ๋ฅผ ์ดํ•ดํ•˜๊ณ  ํ‰๊ฐ€ํ•˜๋ฉฐ ๊ตฌ์ถ•ํ•˜๊ธฐ๊ฐ€ ํ›จ์”ฌ ์‰ฝ์Šต๋‹ˆ๋‹ค [6, 11]. - **๋ฒ„๊ทธ ๋…ธ์ถœ ๊ฐ์†Œ:** ์‹œ์Šคํ…œ์˜ ๊ธฐ๋Šฅ์ด ๋ณ€๊ฒฝ๋  ๋•Œ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ํด๋ž˜์Šค์˜ ์ˆ˜๊ฐ€ ์ค„์–ด๋“ค๊ธฐ ๋•Œ๋ฌธ์—, ์˜๋„์น˜ ์•Š์€ ๋ถ€์ž‘์šฉ์ด๋‚˜ ๋ฒ„๊ทธ๊ฐ€ ๋‹ค๋ฅธ ์˜์—ญ์œผ๋กœ ์ „ํŒŒ๋  ์œ„ํ—˜์ด ๊ฐ์†Œํ•ฉ๋‹ˆ๋‹ค [6]. - **์‘์ง‘๋„ ๊ฐ•ํ™”:** ๋ชจ๋“ˆ ๋‚ด์˜ ์ฝ”๋“œ๊ฐ€ ๋‹จ์ผ ์ฑ…์ž„์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ๋ญ‰์น˜๊ฒŒ ๋˜๋ฏ€๋กœ ์‹œ์Šคํ…œ์˜ ์ „๋ฐ˜์ ์ธ ์‘์ง‘๋„(Cohesion)๋ฅผ ๋†’์ด๋Š” ๋ฐ ๊ธฐ์—ฌํ•ฉ๋‹ˆ๋‹ค [11]. - **์‹ค๋ฌด์  ์ ์šฉ** ๋‹จ์ผ ์ฑ…์ž„ ์›์น™์€ ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„์—์„œ ๊ฐ€์žฅ ๋จผ์ €, ๊ทธ๋ฆฌ๊ณ  ์‰ฝ๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์›์น™์ž…๋‹ˆ๋‹ค [12]. ๊ฐœ๋ฐœ์ž๋Š” ์ƒˆ๋กœ์šด ํด๋ž˜์Šค๋‚˜ ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์ „์— "์ด ์š”์†Œ์˜ ๋‹จ์ผ ์ฑ…์ž„์€ ๋ฌด์—‡์ธ๊ฐ€?"๋ฅผ ์Šค์Šค๋กœ์—๊ฒŒ ์งˆ๋ฌธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค [2, 12]. ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์—์„œ๋„ ์ด ์›์น™์ด ์ ์šฉ๋˜๋Š”๋ฐ, ์˜ˆ๋ฅผ ๋“ค์–ด ์ปดํฌ๋„ŒํŠธ๋Š” ํ™”๋ฉด์„ ๊ทธ๋ฆฌ๋Š” ์—ญํ• ๋งŒ ๋‹ด๋‹นํ•˜๊ฒŒ ํ•˜๊ณ  ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ด๋‚˜ ์ƒํƒœ ๊ด€๋ฆฌ๋Š” ๋ณ„๋„์˜ ๋ชจ๋“ˆ์—์„œ ์ฒ˜๋ฆฌํ•˜๋„๋ก ๋ถ„๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด ์ด์— ํ•ด๋‹นํ•ฉ๋‹ˆ๋‹ค [5]. ## โš–๏ธ Trade-offs & Caveats - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ž๋™ํ™” ์—”์ง„์— ์˜ํ•ด ๋งคํ•‘๋œ ์ง€์‹์œผ๋กœ, ์ถ”ํ›„ ์ •๋ฐ€ ๊ฒ€์ฆ ํ•„์š”. - **์ •์ฑ… ๋ณ€ํ™”:** Design & Experience ๋ถ„์•ผ์˜ ์ž๋™ ์ž์‚ฐํ™” ์ˆ˜ํ–‰. --- - **๊ณผ๊ฑฐ ๋ฐ์ดํ„ฐ์™€์˜ ์ถฉ๋Œ:** ์ž๋™ํ™” ์—”์ง„์— ์˜ํ•ด ๋งคํ•‘๋œ ์ง€์‹์œผ๋กœ, ์ถ”ํ›„ ์ •๋ฐ€ ๊ฒ€์ฆ ํ•„์š”. - **์ •์ฑ… ๋ณ€ํ™”:** Programming & Language ๋ถ„์•ผ์˜ ์ž๋™ ์ž์‚ฐํ™” ์ˆ˜ํ–‰. ## ๐Ÿ”— Knowledge Connections - Raw Source: 00_Raw/2026-04-20/Single-Responsibility-Principle.md --- --- - [[SOLID_Principles]]: SRP๋ฅผ ํฌํ•จํ•œ ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„์˜ 5๋Œ€ ์›์น™. - [[Separation_of_Concerns]]: ์‹œ์Šคํ…œ ์ „์ฒด ์ˆ˜์ค€์—์„œ์˜ ๊ด€์‹ฌ์‚ฌ ๋ถ„๋ฆฌ ์ฒ ํ•™. - [[Clean_Code]]: ๋ช…ํ™•ํ•œ ์ฑ…์ž„์„ ๊ฐ€์ง„ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์‹ค๋ฌด ๊ธฐ๋ฒ•. --- - **Related Topics:** [[แ„€แ…ขแ†จแ„Žแ…ฆ แ„Œแ…ตแ„’แ…ฃแ†ผ แ„‘แ…ณแ„…แ…ฉแ„€แ…ณแ„…แ…ขแ„†แ…ตแ†ผ (OOP)|๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ(OOP]], [[SOLID แ„‹แ…ฏแ†ซแ„Žแ…ตแ†จ|SOLID ์›์น™]], ์‘์ง‘๋„(Cohesion) - **Projects/Contexts:** [[แ„‘แ…ณแ„…แ…ฉแ†ซแ„แ…ณแ„‹แ…ฆแ†ซแ„ƒแ…ณ แ„แ…ฅแ†ทแ„‘แ…ฉแ„‚แ…ฅแ†ซแ„แ…ณ แ„‰แ…ฅแ†ฏแ„€แ…จ|ํ”„๋ก ํŠธ์—”๋“œ ์ปดํฌ๋„ŒํŠธ ์„ค๊ณ„]], [[แ„€แ…ขแ†จแ„Žแ…ฆ แ„Œแ…ตแ„’แ…ฃแ†ผ แ„‰แ…ฉแ„‘แ…ณแ„แ…ณแ„‹แ…ฐแ„‹แ…ฅ แ„‹แ…กแ„แ…ตแ„แ…ฆแ†จแ„Žแ…ฅ แ„‰แ…ฅแ†ฏแ„€แ…จ|๊ฐ์ฒด ์ง€ํ–ฅ ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜ ์„ค๊ณ„]] - **Contradictions/Notes:** ๋‹จ์ผ ์ฑ…์ž„ ์›์น™(SRP)๊ณผ ๊ด€์‹ฌ์‚ฌ์˜ ๋ถ„๋ฆฌ(SoC)๋Š” ์ข…์ข… ๊ฐ™์€ ์˜๋ฏธ๋กœ ํ˜ผ์šฉ๋˜๊ฑฐ๋‚˜ ๋น„๊ต๋˜์ง€๋งŒ, ์ ์šฉ๋˜๋Š” ์ถ”์ƒํ™” ์ˆ˜์ค€์—์„œ ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. SoC๋Š” ๋” ๋„“์€ ์˜๋ฏธ์˜ ๊ธฐ๋Šฅ์  ๊ด€์‹ฌ์‚ฌ๋ฅผ ๋ชจ๋“ˆ์ด๋‚˜ ์•„ํ‚คํ…์ฒ˜ ๊ณ„์ธต ์ˆ˜์ค€์—์„œ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์— ์ดˆ์ ์„ ๋งž์ถ”๋Š” ๋ฐ˜๋ฉด, SRP๋Š” ๊ฐ€์žฅ ์ž‘์€ ๋‹จ์œ„์ธ ๊ฐœ๋ณ„ ํด๋ž˜์Šค๋‚˜ ํ•จ์ˆ˜๊ฐ€ ๊ฐ€์ง€๋Š” ์ฑ…์ž„๊ณผ ๋ณ€๊ฒฝ์˜ ์ด์œ ๋ฅผ ํ•˜๋‚˜๋กœ ์ œํ•œํ•˜๋Š” ๋ฐ ์ง‘์ค‘ํ•ฉ๋‹ˆ๋‹ค [3]. --- *Last updated: 2026-04-18* --- ## 1. ๊ฐœ์š” ๋‹จ์ผ ์ฑ…์ž„ ์›์น™(SRP, Single Responsibility Principle)์€ "ํ•˜๋‚˜์˜ ํด๋ž˜์Šค๋Š” ๋‹จ ํ•˜๋‚˜์˜ ์ฑ…์ž„๋งŒ์„ ๊ฐ€์ ธ์•ผ ํ•˜๋ฉฐ, ํด๋ž˜์Šค๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด์•ผ ํ•˜๋Š” ์ด์œ ๋Š” ์˜ค์ง ํ•˜๋‚˜๋ฟ์ด์–ด์•ผ ํ•œ๋‹ค"๋Š” ์„ค๊ณ„ ์›์น™์ด๋‹ค. ์ด๋Š” ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„์˜ ํ•ต์‹ฌ์ธ ์‘์ง‘๋„(Cohesion)๋ฅผ ๊ทน๋Œ€ํ™”ํ•˜๊ณ  ๊ฒฐํ•ฉ๋„(Coupling)๋ฅผ ๋‚ฎ์ถ”์–ด, ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋” ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ณ  ๋ณ€๊ฒฝ์— ๊ฐ•ํ•˜๋ฉฐ ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅํ•œ ๊ตฌ์กฐ๋กœ ๋งŒ๋“œ๋Š” ๊ธฐ์ดˆ ํ† ๋Œ€๊ฐ€ ๋œ๋‹ค. ## 2. ํ•ต์‹ฌ ๊ฐœ๋… ๋ฐ ํŒ๋‹จ ๊ธฐ์ค€ - **๋ณ€๊ฒฝ์˜ ์ด์œ  (Reason to Change)**: ์ฑ…์ž„์ด๋ž€ ๊ณง '๋ณ€๊ฒฝ์˜ ๊ทผ๊ฑฐ'๋ฅผ ์˜๋ฏธํ•œ๋‹ค. ๋งŒ์•ฝ ๊ธฐํš ๋ถ€์„œ์˜ ์š”๊ตฌ์‚ฌํ•ญ ๋ณ€๊ฒฝ๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์ž์˜ ๊ตฌ์กฐ ๋ณ€๊ฒฝ์ด ๋™์‹œ์— ํ•œ ํด๋ž˜์Šค์˜ ์ˆ˜์ •์„ ์œ ๋ฐœํ•œ๋‹ค๋ฉด, ๊ทธ ํด๋ž˜์Šค๋Š” ๋‘ ๊ฐ€์ง€ ์ฑ…์ž„์„ ๊ฐ€์ง„ ๊ฒƒ์ด๋‹ค. - **์‘์ง‘๋„ (Cohesion)**: ํด๋ž˜์Šค ๋‚ด๋ถ€์˜ ๋ฉ”์„œ๋“œ์™€ ๋ฐ์ดํ„ฐ๋“ค์ด ์–ผ๋งˆ๋‚˜ ๋ฐ€์ ‘ํ•˜๊ฒŒ ๊ด€๋ จ๋˜์–ด ์žˆ๋Š”์ง€์˜ ์ฒ™๋„. SRP๋ฅผ ์ค€์ˆ˜ํ• ์ˆ˜๋ก ์‘์ง‘๋„๋Š” ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋†’์•„์ง„๋‹ค. - **๊ด€์‹ฌ์‚ฌ์˜ ๋ถ„๋ฆฌ**: ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง, ๋ฐ์ดํ„ฐ ์˜์†์„ฑ, UI ๋ Œ๋”๋ง, ์ž…๋ ฅ ๊ฒ€์ฆ ๋“ฑ ์„œ๋กœ ๋‹ค๋ฅธ ๋„๋ฉ”์ธ ๊ด€์‹ฌ์‚ฌ๋ฅผ ๋ช…ํ™•ํžˆ ๊ตฌ๋ถ„ํ•˜์—ฌ ๊ฐœ๋ณ„ ํด๋ž˜์Šค๋‚˜ ๋ชจ๋“ˆ๋กœ ๊ฒฉ๋ฆฌ. ## 3. ์—”์ง€๋‹ˆ์–ด๋ง ๊ฐ€์น˜ - **์œ ์ง€๋ณด์ˆ˜ ์•ˆ์ •์„ฑ**: ํŠน์ • ๊ธฐ๋Šฅ์„ ์ˆ˜์ •ํ•  ๋•Œ ํ•ด๋‹น ์ฑ…์ž„๋งŒ์„ ์ „๋‹ดํ•˜๋Š” ํด๋ž˜์Šค๋งŒ ๊ณ ์น˜๋ฉด ๋˜๋ฏ€๋กœ, ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์‚ฌ์ด๋“œ ์ดํŽ™ํŠธ(Side Effect)๊ฐ€ ์‹œ์Šคํ…œ ์ „๋ฐ˜์œผ๋กœ ํผ์ง€๋Š” ์œ„ํ—˜ ์ฐจ๋‹จ. - **์ฝ”๋“œ ๊ฐ€๋…์„ฑ ๋ฐ ๋ช…ํ™•์„ฑ**: ํด๋ž˜์Šค์˜ ์ด๋ฆ„๊ณผ ๊ตฌํ˜„ ์ฝ”๋“œ๊ฐ€ ํ•˜๋‚˜์˜ ๋ชฉ์ ๋งŒ์„ ์ง€ํ–ฅํ•˜๋ฏ€๋กœ, ์ฝ”๋“œ๋ฅผ ์ฒ˜์Œ ์ฝ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์‹œ์Šคํ…œ์˜ ์˜๋„๋ฅผ ์‹ ์†ํ•˜๊ณ  ์ •ํ™•ํ•˜๊ฒŒ ํŒŒ์•… ๊ฐ€๋Šฅ. - **์žฌ์‚ฌ์šฉ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ**: ์ž‘๊ณ  ๋ช…ํ™•ํ•œ ์ฑ…์ž„์„ ๊ฐ€์ง„ ํด๋ž˜์Šค๋Š” ๋‹ค๋ฅธ ์ปจํ…์ŠคํŠธ์—์„œ ์žฌ์‚ฌ์šฉํ•˜๊ธฐ ์‰ฝ๊ณ , ๋ชจ์˜ ๊ฐ์ฒด(Mock)๋ฅผ ํ™œ์šฉํ•œ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ์ด ๋งค์šฐ ๊ฐ„ํŽธํ•จ. ## 4. ํŠธ๋ ˆ์ด๋“œ์˜คํ”„ ๋ฐ ์ฃผ์˜์‚ฌํ•ญ - **ํด๋ž˜์Šค ํญ๋ฐœ (Class Explosion)**: ์›์น™์„ ๋„ˆ๋ฌด ์ž˜๊ฒŒ ์ ์šฉํ•˜๋ฉด ์‹œ์Šคํ…œ์— ์ˆ˜๋งŽ์€ ํด๋ž˜์Šค๊ฐ€ ์ƒ์„ฑ๋˜์–ด ์ „์ฒด์ ์ธ ์˜ค์ผ€์ŠคํŠธ๋ ˆ์ด์…˜(ํ๋ฆ„)์„ ํŒŒ์•…ํ•˜๊ธฐ ์œ„ํ•œ ์ธ์ง€์  ๋น„์šฉ์ด ์ฆ๊ฐ€ํ•  ์ˆ˜ ์žˆ์Œ. ์ ์ ˆํ•œ ์ˆ˜์ค€์˜ ์ถ”์ƒํ™”์™€ ๊ทธ๋ฃนํ™” ํ•„์š”. - **ํŒŒํŽธํ™”๋œ ๋กœ์ง**: ํ•˜๋‚˜์˜ ๋น„์ฆˆ๋‹ˆ์Šค ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋„ˆ๋ฌด ๋งŽ์€ ํด๋ž˜์Šค์— ํฉ์–ด์ ธ ์žˆ์œผ๋ฉด ์˜คํžˆ๋ ค ๊ฐ€๋…์„ฑ์„ ํ•ด์น  ์ˆ˜ ์žˆ๋‹ค. '๋ณ€๊ฒฝ์˜ ์ด์œ '๊ฐ€ ๊ฐ™์€ ๋กœ์ง์€ ํ•˜๋‚˜๋กœ ๋ฌถ๋Š” ๊ท ํ˜• ๊ฐ๊ฐ์ด ์š”๊ตฌ๋จ. - **์ ์ง„์  ๋ฆฌํŒฉํ† ๋ง**: ๊ฑฐ๋Œ€ํ•œ ๋ ˆ๊ฑฐ์‹œ ํด๋ž˜์Šค๋ฅผ ํ•œ ๋ฒˆ์— ๋ถ„ํ•ดํ•˜๊ธฐ๋ณด๋‹ค๋Š”, ์ƒˆ๋กœ์šด ์š”๊ตฌ์‚ฌํ•ญ์ด ๋ฐœ์ƒํ•˜๊ฑฐ๋‚˜ ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•  ๋•Œ๋งˆ๋‹ค ์ฑ…์ž„์˜ ๊ฒฝ๊ณ„๋ฅผ ํ™•์ธํ•˜๋ฉฐ ์ ์ง„์ ์œผ๋กœ ๋ถ„๋ฆฌํ•  ๊ฒƒ. ## ๐Ÿงช ๊ฒ€์ฆ ์ƒํƒœ (Validation) - **์ •๋ณด ์ƒํƒœ**: ๊ฒ€์ฆ ์™„๋ฃŒ (Verified) - **์ถœ์ฒ˜ ์‹ ๋ขฐ๋„**: A - **๊ฒ€ํ†  ์ด์œ **: ์†Œํ”„ํŠธ์›จ์–ด ๋ชจ๋“ˆ์˜ ๊ทผ๋ณธ์ ์ธ ๋‹จ์œ„์ธ ํด๋ž˜์Šค์˜ ์ฑ…์ž„์„ ๋ช…ํ™•ํžˆ ์ •์˜ํ•จ์œผ๋กœ์จ, ์‹œ์Šคํ…œ์˜ ์œ ์ง€๋ณด์ˆ˜์„ฑ๊ณผ ํ™•์žฅ์„ฑ์„ ๋ณด์žฅํ•˜๋Š” ๊ฐ€์žฅ ๊ฐ•๋ ฅํ•œ ์„ค๊ณ„ ๋„๊ตฌ ์ •๋ฆฝ.