ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„ 5์›์น™ - SOLID
    ๊ฐœ๋ฐœ/Spring Boot 2022. 5. 24. 01:02

     

     

     

    SOLID๋Š” ๋‹ค์Œ์˜ ๊ฐ์ฒด ์ง€ํ–ฅ ์„ค๊ณ„ 5์›์น™์„ ๋‘๋ฌธ์ž์–ด๋กœ ํ‘œํ˜„ํ•œ ๋ง์ด๋‹ค. ํ•ด๋‹น ์›์น™์€ ์‘์ง‘๋„๋Š” ๋†’์ด๊ณ  (High Cohesion), ๊ฒฐํ•ฉ๋„๋Š” ๋‚ฎ์ถ”๋ผ(Loose Coupling)๋Š” ๊ณ ์ „ ์›์น™์„ ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ๊ด€์ ์—์„œ ์žฌ์ •๋ฆฝํ•œ ๊ฒƒ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

    - SRP (Single Responsibility Principle) : ๋‹จ์ผ ์ฑ…์ž„ ์›์น™
    - OCP (Open Closed Principle) : ๊ฐœ๋ฐฉ ํ์‡„ ์›์น™
    - LSP (Liskov Substitution Principle) : ๋ฆฌ์Šค์ฝ”ํ”„ ์น˜ํ™˜ ์›์น™
    - ISP (Interface Segregation Priniciple) : ์ธํ„ฐํŽ˜์ด์Šค ๋ถ„๋ฆฌ ๋ฒ•์น™
    - DIP (Dependency Inversion Principle) : ์˜์กด ์—ญ์ „ ์›์น™

     

    ๊ฒฐํ•ฉ๋„?

    ๊ฒฐํ•ฉ๋„๋Š” ๋ชจ๋“ˆ(ํด๋ž˜์Šค) ๊ฐ„์˜ ์ƒํ˜ธ ์˜์กด ์ •๋„๋กœ์„œ, ๊ฒฐํ•ฉ๋„๊ฐ€ ๋‚ฎ์œผ๋ฉด ๋ชจ๋“ˆ ๊ฐ„์˜ ์ƒํ˜ธ ์˜์กด์„ฑ์ด ์ค„์–ด๋“ค์–ด ๊ฐ์ฒด์˜ ์žฌ์‚ฌ์šฉ์ด๋‚˜ ์ˆ˜์ •, ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์šฉ์ดํ•˜๋‹ค. 

     

    ์‘์ง‘๋„?

    ์‘์ง‘๋„๋Š” ํ•˜๋‚˜์˜ ๋ชจ๋“ˆ ๋‚ด๋ถ€์— ์กด์žฌํ•˜๋Š” ๊ตฌ์„ฑ ์š”์†Œ๋“ค์˜ ๊ธฐ๋Šฅ์  ๊ด€๋ จ์„ฑ์œผ๋กœ, ์‘์ง‘๋„๊ฐ€ ๋†’์€ ๋ชจ๋“ˆ์€ ํ•˜๋‚˜์˜ ์ฑ…์ž„์— ์ง‘์ค‘ํ•˜๊ณ  ๋…๋ฆฝ์„ฑ์ด ๋†’์•„์ ธ ์žฌ์‚ฌ์šฉ์ด๋‚˜ ๊ธฐ๋Šฅ์˜ ์ˆ˜์ •, ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์šฉ์ดํ•˜๋‹ค.

     

     

     

    SOLID๋Š” ์ œํ’ˆ์ด ์•„๋‹Œ ๊ฐœ๋…์ด๋‹ค. ๋”ฐ๋ผ์„œ ๋ณด๋Š” ์‚ฌ๋žŒ์˜ ๊ด€์ ์— ๋”ฐ๋ผ ์ž˜ ์ ์šฉ๋๋Š”์ง€ ์•„๋‹Œ์ง€ ์• ๋งค๋ชจํ˜ธํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅด๊ฒŒ ํ•ด์„๋  ์ˆ˜ ์žˆ๋Š” ์†Œ์ง€๊ฐ€ ์žˆ์ง€๋งŒ, ์ด๋ฅผ ์ž˜ ๋…น์—ฌ๋‚ด ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋งŒ๋“ ๋‹ค๋ฉด, ๊ทธ๋ ‡์ง€ ์•Š์€ ์†Œํ”„ํŠธ์›จ์–ด์— ๋น„ํ•ด ์ƒ๋Œ€์ ์œผ๋กœ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ณ , ๋ฆฌํŒฉํ„ฐ๋ง๊ณผ ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์ˆ˜์›”ํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋…ผ๋ฆฌ์ ์œผ๋กœ ์ •์—ฐํ•˜๋‹ค.

     

     

    ์ด๋Ÿฌํ•œ SOLID๋Š” ์ดํ›„์— ์†Œ๊ฐœํ•  ๋””์ž์ธ ํŒจํ„ด์˜ ๋ผˆ๋Œ€์ด์ž ์Šคํ”„๋ง ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๊ทผ๊ฐ„์ด๊ธฐ๋„ ํ•˜๋‹ค. 

     

     

    ๐Ÿ’ก SRP - ๋‹จ์ผ ์ฑ…์ž„ ์›์น™

     

    ์–ด๋–ค ํด๋ž˜์Šค๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋Š” ์ด์œ ๋Š” ์˜ค์ง ํ•˜๋‚˜๋ฟ์ด์–ด์•ผ ํ•œ๋‹ค.
    ๋กœ๋ฒ„ํŠธ C. ๋งˆํ‹ด

     

     

    ๊ฐ„๋‹จํ•œ ์˜ˆ๋ฅผ ๋“ค์ž๋ฉด, ๊ฐ•์•„์ง€๋ผ๋Š” ํด๋ž˜์Šค๊ฐ€ ์žˆ์„ ๋•Œ, ์†Œ๋ณ€๋ณด๋‹ค ๋ผ๋Š” ๋ฉ”์„œ๋“œ์—์„œ if ๋ฌธ์„ ํ†ตํ•ด ๋‚จ์ž์ธ๊ฒฝ์šฐ์™€ ์—ฌ์ž์ธ ๊ฒฝ์šฐ๋ฅผ ๋‚˜๋ˆ ์„œ ์†Œ๋ณ€์„ ๋ณด๋Š” ๋ฐฉ์‹์„ ๋‹ค๋ฅด๊ฒŒ ์จ์คฌ๋‹ค๊ณ  ๊ฐ€์ •์„ ํ•ด๋ณด์ž.

    class ๊ฐ•์•„์ง€ {
    	final static Boolean ์ˆ˜์ปท = true;
        final static Boolean ์•”์ปท = false;
        Boolean ์„ฑ๋ณ„;
        
        void ์†Œ๋ณ€๋ณด๋‹ค() {
        	if(this.์„ฑ๋ณ„ == ์ˆ˜์ปท) {
            	//ํ•œ์ชฝ ๋‹ค๋ฆฌ๋ฅผ ๋“ค๊ณ  ์†Œ๋ณ€์„ ๋ณธ๋‹ค.
            } else {
            	//๋’ท๋‹ค๋ฆฌ ๋‘ ๊ฐœ๋ฅผ ๊ตฝํ˜€ ์•‰์€ ์ž์„ธ๋กœ ์†Œ๋ณ€์„ ๋ณธ๋‹ค.
            }
        }
    }

     

    ์ด๋Ÿฐ ๊ฒฝ์šฐ ์†Œ๋ณ€๋ณด๋‹ค() ๋ฉ”์„œ๋“œ๊ฐ€ ์ˆ˜์ปท ๊ฐ•์•„์ง€์˜ ํ–‰์œ„์™€ ์•”์ปท ๊ฐ•์•„์ง€์˜ ํ–‰์œ„๋ฅผ ๋ชจ๋‘ ๊ตฌํ˜„ํ•˜๋ ค๊ณ  ํ•˜๊ธฐ์— ๋‹จ์ผ ์ฑ…์ž„ ์›์น™์„ ์œ„๋ฐฐํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. ํŠนํžˆ ์ด๋Ÿฐ ๋ถ„๊ธฐ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ if๋ฌธ์„ ๋Œ€ํ‘œ์ ์ธ ๊ฒฝ์šฐ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

     

    ์ด๊ฒƒ์„ ๋‹จ์ผ ์ฑ…์ž„ ์›์น™์„ ์ ์šฉํ•ด ์ฝ”๋“œ๋ฅผ ๋ฆฌํŒฉํ„ฐ๋งํ•˜๋ฉด, ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค.

    abstract class ๊ฐ•์•„์ง€ {
    	abstract void ์†Œ๋ณ€๋ณด๋‹ค()
    }
    
    class ์ˆ˜์ปท๊ฐ•์•„์ง€ extends ๊ฐ•์•„์ง€ {
    	void ์†Œ๋ณ€๋ณด๋‹ค() {
        	//ํ•œ์ชฝ ๋‹ค๋ฆฌ๋ฅผ ๋“ค๊ณ  ์†Œ๋ณ€์„ ๋ณธ๋‹ค.
        }
    }
    
    class ์•”์ปท๊ฐ•์•„์ง€ extends ๊ฐ•์•„์ง€ {
    	void ์†Œ๋ณ€๋ณด๋‹ค() {
        	//๋’ท๋‹ค๋ฆฌ ๋‘ ๊ฐœ๋ฅผ ๊ตฝํ˜€ ์•‰์€ ์ž์„ธ๋กœ ์†Œ๋ณ€์„ ๋ณธ๋‹ค.
        }
    }

     

    ๐Ÿ™‹๐Ÿป‍โ™€๏ธ  ๋‹จ์ผ ์ฑ…์ž„ ์›์น™๊ณผ ๊ฐ์ฒด ์ง€ํ–ฅ 4๋Œ€ ํŠน์„ฑ์€ ์–ด๋–ป๊ฒŒ ๊ฒฐ๋ถ€๋ผ ์žˆ์„๊นŒ?

    ๋ชจ๋ธ๋ง ๊ณผ์ •์„ ๋‹ด๋‹นํ•˜๋Š” ์ถ”์ƒํ™”์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

    ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฒฝ๊ณ„๋ฅผ ์ •ํ•˜๊ณ , ์ถ”์ƒํ™”๋ฅผ ํ†ตํ•ด ํด๋ž˜์Šค๋“ค์„ ์„ ๋ณ„ํ•˜๊ณ  ์†์„ฑ๊ณผ ๋ฉ”์„œ๋“œ๋ฅผ ์„ค๊ณ„ํ•  ๋•Œ ๋ฐ˜๋“œ์‹œ ๋‹จ์ผ ์ฑ…์ž„ ์›์น™์„ ๊ณ ๋ คํ•˜๋Š” ์Šต๊ด€์„ ๋“ค์ด์ž. ๊ทธ๋ฆฌ๊ณ  ๋ฆฌํŒฉํ„ฐ๋ง์„ ํ†ตํ•ด ์ฝ”๋“œ๋ฅผ ๊ฐœ์„ ํ•  ๋•Œ๋„ ๋‹จ์ผ ์ฑ…์ž„ ์›์น™์„ ์ ์šฉํ•  ๊ณณ์ด ์žˆ๋Š” ์ง€ ๊ผผ๊ผผํžˆ ์‚ดํ”ผ์ž.

     

     

    ๐Ÿ’ก OCP - ๊ฐœ๋ฐฉ ํ์‡„ ์›์น™

     

    ์†Œํ”„ํŠธ์›จ์–ด ์—”ํ‹ฐํ‹ฐ(ํด๋ž˜์Šค, ๋ชจ๋“ˆ, ํ•จ์ˆ˜ ๋“ฑ)๋Š” ํ™•์žฅ์— ๋Œ€ํ•ด์„œ๋Š” ์—ด๋ ค ์žˆ์–ด์•ผ ํ•˜์ง€๋งŒ
    ๋ณ€๊ฒฝ์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ซํ˜€ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
    ๋กœ๋ฒ„ํŠธ C. ๋งˆํ‹ด

     

     

    ์œ„์˜ ๋ฌธ์žฅ์˜ ์กฐ๊ธˆ ๋” ์˜์—ญํ•ด ๋ณด๋ฉด "์ž์‹ ์˜ ํ™•์žฅ์—๋Š” ์—ด๋ ค ์žˆ๊ณ , ์ฃผ๋ณ€์˜ ๋ณ€ํ™”์— ๋Œ€ํ•ด์„œ๋Š” ๋‹ซํ˜€ ์žˆ์–ด์•ผ ํ•œ๋‹ค." ์ •๋„๋กœ ์˜์—ญํ•ด ๋ณผ ์ˆ˜ ์žˆ๊ฒ ๋‹ค.

     

    ํ•œ๊ฐ€์ง€ ์˜ˆ๋ฅผ ๋“ค์–ด๋ณด์ž๋ฉด, JDBC๋ฅผ ํ•œ๋ฒˆ ๋– ์˜ฌ๋ ค๋ณด์ž. JDBC๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์˜ค๋ผํด์—์„œ MYSQL๋กœ ๋ฐ”๋€Œ๋”๋ผ๋„ Connection์„ ์„ค์ •ํ•˜๋Š” ๋ถ€๋ถ„ ์™ธ์—๋Š” ๋”ฐ๋กœ ์ˆ˜์ •ํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. Connection ์„ค์ • ๋ถ€๋ถ„์„ ๋ณ„๋„์˜ ์„ค์ • ํŒŒ์ผ๋กœ ๋ถ„๋ฆฌํ•ด๋‘๋ฉด ํด๋ผ์ด์–ธํŠธ ์ฝ”๋“œ๋Š” ๋‹จ ํ•œ์ค„๋„ ๋ณ€๊ฒฝํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค. ์ด๊ฒƒ์„ ๋ณด๋ฉด ์˜ค๋ผํด์„ MYSQL๋กœ  ๊ต์ฒดํ•œ๋‹ค๋Š” ๊ฒƒ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ž์‹ ์˜ ํ™•์žฅ์—๋Š” ์—ด๋ ค ์žˆ์ง€๋งŒ, ์˜ค๋ผํด์„ MYSQL๋กœ ๊ต์ฒดํ•˜๋”๋ผ๋„ JDBC ์ธํ„ฐํŽ˜์ด์Šค๋ผ๊ณ  ํ•˜๋Š” ์™„์ถฉ ์žฅ์น˜๋กœ ์ธํ•ด ๋ณ€ํ™”์— ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์œผ๋ฏ€๋กœ, ๋ณ€ํ™”์— ๋‹ซํ˜€์žˆ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค.

     

    ๊ฐœ๋ฐฉ ํ์‡„ ์›์น™์„ ๋”ฐ๋ฅด์ง€ ์•Š๋Š”๋‹ค๊ณ  ํ•ด์„œ ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋žจ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅํ•œ ๊ฒƒ์€ ์•„๋‹ˆ์ง€๋งŒ, ๋ฌด์‹œํ•˜๊ณ  ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋ฉด ๊ฐ์ฒด ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ๊ฐ€์žฅ ํฐ ์žฅ์ ์ธ ์œ ์—ฐ์„ฑ, ์žฌ์‚ฌ์šฉ์„ฑ, ์œ ์ง€๋ณด์ˆ˜์„ฑ ๋“ฑ์„ ์–ป์„ ์ˆ˜ ์—†๋‹ค. ๋”ฐ๋ผ์„œ ๋ฐ˜๋“œ์‹œ ์ง€์ผœ์•ผ ํ•  ์›์น™์ด๋‹ค.

     

     

    ๐Ÿ’ก LSP - ๋ฆฌ์Šค์ฝ”ํ”„ ์น˜ํ™˜ ์›์น™

     

    ์„œ๋ธŒ ํƒ€์ž…์€ ์–ธ์ œ๋‚˜ ์ž์‹ ์˜ ๊ธฐ๋ฐ˜ ํƒ€์ž…(base type)์œผ๋กœ ๊ต์ฒดํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
    ๋กœ๋ฒ„ํŠธ C. ๋งˆํ‹ด


    ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ์ƒ์†์€ ๋‹ค์Œ์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผ ํ•œ๋‹ค.

    - ํ•˜์œ„ ํด๋ž˜์Šค is a kind of ์ƒ์œ„ ํด๋ž˜์Šค - ํ•˜์œ„ ๋ถ„๋ฅ˜๋Š” ์ƒ์œ„ ๋ถ„๋ฅ˜์˜ ํ•œ ์ข…๋ฅ˜๋‹ค.
    - ๊ตฌํ˜„ ํด๋ž˜์Šค is able to ์ธํ„ฐํŽ˜์ด์Šค - ๊ตฌํ˜„ ๋ถ„๋ฅ˜๋Š” ์ธํ„ฐํŽ˜์ด์Šคํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

     

    ์œ„ ๋‘๊ฐœ์˜ ๋ฌธ์žฅ๋Œ€๋กœ ๊ตฌํ˜„๋œ ํ”„๋กœ๊ทธ๋žจ์ด๋ผ๋ฉด ์ด๋ฏธ ๋ฆฌ์Šค์ฝ”ํ”„ ์น˜ํ™˜ ์›์น™์„ ์ž˜ ์ง€ํ‚ค๊ณ  ์žˆ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ์œ„ ๋ฌธ์žฅ๋Œ€๋กœ ๊ตฌํ˜„๋˜์ง€ ์•Š์€ ์ฝ”๋“œ๊ฐ€ ์กด์žฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ, ๋ฐ”๋กœ ์ƒ์†์ด ์กฐ์ง๋„๋‚˜ ๊ณ„์ธต๋„ ํ˜•ํƒœ๋กœ ๊ตฌ์ถ•๋œ ๊ฒฝ์šฐ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์•„๋ฒ„์ง€๋ฅผ ์ƒ์œ„ ํด๋ž˜์Šค๋กœ ํ•˜๋Š” ๋”ธ์ด๋ผ๋Š” ํ•˜์œ„ ํด๋ž˜์Šค๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•˜์ž. ์ด๋Ÿฐ ๊ฒฝ์šฐ๊ฐ€ ๋ฐ”๋กœ ์ „ํ˜•์ ์ธ ๊ณ„์ธต๋„ ํ˜•ํƒœ์ด๋ฉฐ, ๊ฐ์ฒด ์ง€ํ–ฅ์˜ ์ƒ์†์„ ์ž˜๋ชป ์ ์šฉํ•œ ์˜ˆ์ด๋‹ค. ๋ณดํ†ต ์ƒ์†์„ ๋ถ€๋ชจ ๊ฐ์ฒด์™€ ์ž์‹๊ฐ์ฒด๋กœ ๋น„์œ ๋ฅผ ํ•˜๋ฉฐ ์ƒ๊ธฐ๋Š” ์˜คํ•ด์ด๋‹ค. 

     

    ์•„๋ฒ„์ง€ ์ถ˜ํ–ฅ์ด = new ๋”ธ();

     

    ๋”ฑ ๋ด๋„ ์ด์ƒํ•˜๋‹ค. ๋”ธ์„ ํ•˜๋‚˜ ๋‚ณ์•„์„œ ์ด๋ฆ„์„ ์ถ˜ํ–ฅ์ด๋ผ ํ•œ ๊ฒƒ ๊นŒ์ง€๋Š” ์ข‹์€๋ฐ, ์•„๋น ์˜ ์—ญํ• ์„ ๋งก๊ธฐ๊ณ  ์žˆ๋Š” ์…ˆ์ด๋‹ค. 

     

    ๋ฐ˜๋Œ€๋กœ ๋ถ„๋ฅ˜๋„์˜ ํ˜•ํƒœ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž.

     

    ๋™๋ฌผ ๋ฝ€๋กœ๋กœ = new ํŽญ๊ท„();

     

    ๋…ผ๋ฆฌ์ ์ธ ํ ์ด ์—†๋‹ค. ํŽญ๊ท„ ํ•œ ๋งˆ๋ฆฌ๊ฐ€ ํƒœ์–ด๋‚˜ ๋ฝ€๋กœ๋กœ๋ผ ์ด๋ฆ„์„ ์ง“๊ณ  ๋™๋ฌผ์˜ ํ–‰์œ„๋ฅผ ํ•˜๊ฒŒ ํ•˜๋Š”๋ฐ ์ „ํ˜€ ์ด์ƒํ•จ์ด ์—†๋‹ค. 

     

    ์ฆ‰, ์•„๋ฒ„์ง€ - ๋”ธ ๊ตฌ์กฐ(๊ณ„์ธต๋„/์กฐ์ง๋„)๋Š” ๋ฆฌ์Šค์ฝ”ํ”„ ์น˜ํ™˜ ์›์น™์„ ์œ„๋ฐฐํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด๋ฉฐ, ๋™๋ฌผ -ํŽญ๊ท„ (๋ถ„๋ฅ˜๋„)๋Š” ๋ฆฌ์Šค์ฝ”ํ”„ ์น˜ํ™˜ ์›์น™์„ ๋งŒ์กฑํ•˜๋Š” ๊ฒƒ์ด๋‹ค. 

     

     

    ๐Ÿ’ก ISP - ์ธํ„ฐํŽ˜์ด์Šค ๋ถ„๋ฆฌ ์›์น™

     

    ํด๋ผ์ด์–ธํŠธ๋Š” ์ž์‹ ์ด ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”์„œ๋“œ์— ์˜์กด ๊ด€๊ณ„๋ฅผ ๋งบ์œผ๋ฉด ์•ˆ ๋œ๋‹ค.
    ๋กœ๋ฒ„ํŠธ C. ๋งˆํ‹ด

     

    ๋‚จ์ž๋ผ๋Š” ํด๋ž˜์Šค๊ฐ€ ์žˆ๋‹ค๊ณ  ์˜ˆ๋ฅผ ๋“ค์–ด๋ณด์ž. ์ด ๋‚จ์ž ํด๋ž˜์Šค๋Š” ๋‚จ์ž์นœ๊ตฌ๋กœ์„œ์˜ ๊ธฐ๋…์ผ์ฑ™๊ธฐ๊ธฐ(), ํ‚ค์Šคํ•˜๊ธฐ() ๋ผ๋Š” ํ–‰์œ„๋ฅผ ํ•˜๊ณ , ์•„๋“ค๋กœ์„œ ํšจ๋„ํ•˜๊ธฐ(), ์•ˆ๋งˆํ•˜๊ธฐ() ํ–‰์œ„๋ฅผ ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ํ•ด๋ณด์ž. ๋‚จ์ž ํด๋ž˜์Šค๋Š” ๋‚จ์ž์นœ๊ตฌ์™€ ์•„๋“ค๋กœ์„œ์˜ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ฑ…์ž„์„ ๋™์‹œ์— ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ด๋Š” ์•ž์„œ ๋งํ–ˆ๋˜ ๋‹จ์ผ ์ฑ…์ž„ ์›์น™์—์„œ ๋ฒ—์–ด๋‚œ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค. ๋‹จ์ผ์ฑ…์ž„์›์น™์˜ ํ•ด๊ฒฐ๋ฒ•์œผ๋กœ๋Š”, ๋‚จ์ž ํด๋ž˜์Šค๋ฅผ ๋‚จ์ž์นœ๊ตฌ ํด๋ž˜์Šค์™€, ์•„๋“ค ํด๋ž˜์Šค๋กœ ๋ถ„๋ฆฌ์‹œ์ผœ ํ•˜๋‚˜์˜ ์ฑ…์ž„๋งŒ์„ ์ง€๋‹ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

     

    ๋ฐ˜๋ฉด, ์ธํ„ฐํŽ˜์ด์Šค ๋ถ„๋ฆฌ ์›์น™์—์„œ์˜ ํ•ด๊ฒฐ๋ฒ•์€ ์ด ๋‚จ์ž ํด๋ž˜์Šค์˜ ์—ญํ• ์„ ๋‚จ์ž์นœ๊ตฌ ์ธํ„ฐํŽ˜์ด์Šค์™€ ์•„๋“ค ์ธํ„ฐํŽ˜์ด์Šค๋กœ ๋‚˜๋ˆ„์–ด ์—ฌ์ž์นœ๊ตฌ๋ฅผ ๋งŒ๋‚  ๋•Œ๋Š” ๋‚จ์ž์นœ๊ตฌ ์—ญํ• ๋งŒ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ œํ•œํ•˜๊ณ , ์–ด๋จธ๋‹ˆ์™€ ์žˆ์„ ๋•Œ๋Š” ์•„๋“ค ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ œํ•œํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

     

    ๊ฒฐ๊ตญ, ๋‹จ์ผ ์ฑ…์ž„ ์›์น™๊ณผ ์ธํ„ฐํŽ˜์ด์Šค ๋ถ„ํ•  ์›์น™์€ ๊ฐ™์€ ๋ฌธ์ œ์— ๋Œ€ํ•œ ๋‘ ๊ฐ€์ง€ ๋‹ค๋ฅธ ํ•ด๊ฒฐ์ฑ…์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค. ํ”„๋กœ์ ํŠธ ์š”๊ตฌ์‚ฌํ•ญ๊ณผ ์„ค๊ณ„์ž์˜ ์ทจํ–ฅ์— ๋”ฐ๋ผ ๋‹จ์ผ ์ฑ…์ž„ ์›์น™์ด๋‚˜ ์ธํ„ฐํŽ˜์ด์Šค ๋ถ„ํ•  ์›์น™ ์ค‘ ํ•˜๋‚˜๋ฅผ ์„ ํƒํ•ด์„œ ์„ค๊ณ„ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ํŠน๋ณ„ํ•œ ๊ฒฝ์šฐ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ๋‹จ์ผ ์ฑ…์ž„ ์›์น™์„ ์ ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋” ์ข‹์€ ํ•ด๊ฒฐ์ฑ…์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

     

    ์ด๋Ÿฌํ•œ ๊ฐœ๋…๊ณผ ํ•จ๊ป˜ ์ž์ฃผ ๋“ฑ์žฅํ•˜๋Š” ์›์น™ ์ค‘ ํ•˜๋‚˜์—๋Š” ์ธํ„ฐํŽ˜์ด์Šค ์ตœ์†Œ์ฃผ์˜ ์›์น™์ด๋ผ๋Š” ๊ฒƒ์ด ์žˆ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด ๋ฉ”์„œ๋“œ๋ฅผ ์™ธ๋ถ€์— ์ œ๊ณตํ•  ๋•Œ๋Š” ์ตœ์†Œํ•œ์˜ ๋ฉ”์„œ๋“œ๋งŒ ์ œ๊ณตํ•˜๋ผ๋Š” ๊ฒƒ์ด๋‹ค. ์ฆ‰ ๋‚จ์ž์นœ๊ตฌ ์ธํ„ฐํŽ˜์ด์Šค์—๋Š” ํšจ๋„ํ•˜๊ธฐ() ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•  ํ•„์š”๋„ ์—†๊ณ , ์ œ๊ณตํ•ด์„œ๋„ ์•ˆ๋œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. 

     

    "์ƒ์œ„ ํด๋ž˜์Šค๋Š” ํ’์„ฑํ• ์ˆ˜๋ก ์ข‹๊ณ , ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์ž‘์„์ˆ˜๋ก ์ข‹๋‹ค" ๋ผ๋Š” ๋ง์ด ์žˆ๋‹ค. ๊ทธ ์ด์œ ์— ๋Œ€ํ•ด์„œ ์‚ดํŽด๋ณด์ž๋ฉด, ์‚ฌ๋žŒ์ด๋ผ๋Š” ํด๋ž˜์Šค๊ฐ€ ์žˆ๊ณ , ์ด๋ฅผ ํ™•์žฅํ•œ ํ•™์ƒํด๋ž˜์Šค์™€ ๊ตฐ์ธ ํด๋ž˜์Šค๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. ํ˜„์žฌ ์ƒํ™ฉ์€ ์‚ฌ๋žŒํด๋ž˜์Šค์—๋Š” ๋‹จ์ง€ ์ด๋ฆ„์ด๋ผ๋Š” ์†์„ฑ๊ณผ, ๋จน๋‹ค()๋ผ๋Š” ๋ฉ”์„œ๋“œ๋งŒ ์žˆ์œผ๋ฉฐ, ํ•™์ƒ๊ณผ ๊ตฐ์ธ์—์„œ ๊ณตํ†ต์ ์œผ๋กœ ์ž๋‹ค(), ์†Œ๊ฐœํ•˜๋‹ค() ์ด๋Ÿฌํ•œ ๋ฉ”์„œ๋“œ๊ฐ€ ์ถ”๊ฐ€์ ์œผ๋กœ ๋” ํ•„์š”ํ•œ ์ƒํ™ฉ์ด๋‹ค.

    ์ด๋Ÿฐ ์ƒํ™ฉ์—์„œ, ์ƒ์œ„ ํด๋ž˜์Šค(์‚ฌ๋žŒ)ํ˜•์˜ ์ฐธ์กฐ ๋ณ€์ˆ˜๋ฅผ ์ด์šฉํ•  ๋•Œ, ์—ฌ๊ธฐ์ €๊ธฐ์„œ ํ˜•๋ณ€ํ™˜์ด ๋ฐœ์ƒํ•˜๋ฉด์„œ ์ƒ์†์˜ ํ˜œํƒ์„ ์ œ๋Œ€๋กœ ๋ˆ„๋ฆฌ์ง€ ๋ชปํ•  ๊ฒƒ์ด๋‹ค. ๋ฌผ๋ก  ์—ฌ๊ธฐ์„œ ํ•™์ƒ๊ณผ ๊ตฐ์ธ์—์„œ ์‹ค์ œ๋กœ ์†Œ๊ฐœํ•˜๋‹ค() ๋ฉ”์„œ๋“œ๊ฐ€ ๋™์ผํ•œ ๊ธฐ๋Šฅ์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค. ์ด ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ๋ฐ”๋กœ  ์ถ”์ƒ๋ฉ”์„œ๋“œ๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค.

     

     

    ๐Ÿ’ก DIP - ์˜์กด ์—ญ์ „ ์›์น™

     

    ๊ณ ์ฐจ์› ๋ชจ๋“ˆ์€ ์ €์ฐจ์› ๋ชจ๋“ˆ์— ์˜์กดํ•˜๋ฉด ์•ˆ ๋œ๋‹ค.

    ์ด ๋‘ ๋ชจ๋“ˆ ๋ชจ๋‘ ๋‹ค๋ฅธ ์ถ”์ƒํ™”๋œ ๊ฒƒ์— ์˜์กดํ•ด์•ผ ํ•œ๋‹ค.

     

    ์ถ”์ƒํ™”๋œ ๊ฒƒ์€ ๊ตฌ์ฒด์ ์ธ ๊ฒƒ์— ์˜์กดํ•˜๋ฉด ์•ˆ ๋œ๋‹ค.
    ๊ตฌ์ฒด์ ์ธ ๊ฒƒ์ด ์ถ”์ƒํ™”๋œ ๊ฒƒ์— ์˜์กดํ•ด์•ผ ํ•œ๋‹ค.

    ์ž์ฃผ ๋ณ€๊ฒฝ๋˜๋Š” ๊ตฌ์ฒดํด๋ž˜์Šค์— ์˜์กดํ•˜์ง€ ๋งˆ๋ผ.

    - ๋กœ๋ฒ„ํŠธ C. ๋งˆํ‹ด


    ์‰ฝ๊ฒŒ ํ•œ๊ฐ€์ง€ ์˜ˆ๋ฅผ ํ†ตํ•ด ์„ค๋ช…ํ•ด๋ณด์ž. ์ž๋™์ฐจ๋ผ๋Š” ํด๋ž˜์Šค๊ฐ€ ์žˆ๋‹ค. ์ด ํด๋ž˜์Šค๊ฐ€ ๋งŒ์•ฝ์— ์Šค๋…ธ์šฐํƒ€์ด์–ด๋ผ๋Š” ํด๋ž˜์Šค์— ์˜์กด์„ ํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๋•Œ, ์ถ”์šด ๊ฒจ์šธ์ด ์ง€๋‚˜๋ฉด ์ผ๋ฐ˜ ํƒ€์ด์–ด๋กœ ๊ณ„์ ˆ๋งˆ๋‹ค ๋ฐ”๊ฟ”์ค˜์•ผํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด, ์ž๋™์ฐจ ํด๋ž˜์Šค๋Š” ํƒ€์ด์–ด๊ฐ€ ๋ฐ”๋€” ๋•Œ ๋‹น์—ฐํžˆ ๊ทธ ์˜ํ–ฅ์— ๋…ธ์ถœ๋  ๊ฒƒ ์ด๋‹ค. ๋ฐ”๋กœ ์ž๋™์ฐจ ์ž์‹ ๋ณด๋‹ค ๋” ์ž์ฃผ ๋ณ€ํ•˜๋Š” ์Šค๋…ธ์šฐ ํƒ€์ด์–ด์— ์˜์กดํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. 

     

    ์ด๋Ÿฐ ๊ฒฝ์šฐ, ๊ตฌ์ฒด์ ์ธ ์Šค๋…ธ์šฐํƒ€์ด์–ด, ์ผ๋ฐ˜ํƒ€์ด์–ด, ๊ด‘ํญํƒ€์ด์–ด๊ฐ€ ์•„๋‹Œ ์ถ”์ƒํ™”๋œ ํƒ€์ด์–ด ์ธํ„ฐํŽ˜์ด์Šค์—๋งŒ ์˜์กดํ•˜๊ฒŒ ํ•จ์œผ๋กœ์จ ์Šค๋…ธ์šฐํƒ€์ด์–ด์—์„œ ์ผ๋ฐ˜ํƒ€์ด์–ด๋กœ, ๋˜๋Š” ๋‹ค๋ฅธ ๊ตฌ์ฒด์ ์ธ ํƒ€์ด์–ด๋กœ ๋ณ€๊ฒฝ๋ผ๋„ ์ž๋™์ฐจ๊ฐ€ ๊ทธ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š๋Š” ํ˜•ํƒœ๋กœ ๊ตฌ์„ฑํ•˜๋ฉด ๋œ๋‹ค.

     

    ์ •๋ฆฌํ•˜์ž๋ฉด, ๊ธฐ์กด์—๋Š” ์Šค๋…ธ์šฐํƒ€์ด์–ด๊ฐ€ ๊ทธ ๋ฌด์—‡์—๋„ ์˜์กดํ•˜์ง€ ์•Š๋Š” ํด๋ž˜์Šค์˜€๋Š”๋ฐ, ์ถ”์ƒ์ ์ธ ๊ฒƒ์ธ ํƒ€์ด์–ด ์ธํ„ฐํŽ˜์ด์Šค์— ์˜์กดํ•˜๊ฒŒ ๋˜์—ˆ๋‹ค. ์˜์กด์˜ ๋ฐฉํ–ฅ์ด ์—ญ์ „๋œ ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ž๋™์ฐจ๋Š” ์ž์‹ ๋ณด๋‹ค ๋ณ€ํ•˜๊ธฐ ์‰ฌ์šด ์Šค๋…ธ์šฐํƒ€์ด์–ด์— ์˜์กดํ•˜๋˜ ๊ด€๊ณ„๋ฅผ ์ค‘๊ฐ„์— ์ถ”์ƒํ™”๋œ ํƒ€์ด์–ด ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ถ”๊ฐ€ํ•ด ๋‘๊ณ  ์˜์กด ๊ด€๊ณ„๋ฅผ ์—ญ์ „์‹œํ‚ค๊ณ  ์žˆ๋‹ค. ์ด์ฒ˜๋Ÿผ ์ž์‹ ๋ณด๋‹ค ๋ณ€ํ•˜๊ธฐ ์‰ฌ์šด ๊ฒƒ์— ์˜์กดํ•˜๋˜ ๊ฒƒ์„ ์ถ”์ƒํ™”๋œ ์ธํ„ฐํŽ˜์ด์Šค๋‚˜ ์ƒ์œ„ ํด๋ž˜์Šค๋ฅผ ๋‘์–ด ๋ณ€ํ•˜๊ธฐ ์‰ฌ์šด ๊ฒƒ์˜ ๋ณ€ํ™”์— ์˜ํ–ฅ๋ฐ›์ง€ ์•Š๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด ์˜์กด ์—ญ์ „ ์›์น™์ด๋‹ค. 

     

     

     

     

    ๋Œ“๊ธ€

Designed by Tistory.