CodeGym/Java Blog/๋ฌด์ž‘์œ„์˜/๊ต๋Ÿ‰ ๋””์ž์ธ ํŒจํ„ด
John Squirrels
๋ ˆ๋ฒจ 41
San Francisco

๊ต๋Ÿ‰ ๋””์ž์ธ ํŒจํ„ด

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

๋ธŒ๋ฆฌ์ง€ ํŒจํ„ด์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

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

    public abstract class Shape {
       public abstract void draw();
    }

    ์‚ผ๊ฐํ˜• ๋ฐ ์ง์‚ฌ๊ฐํ˜•๊ณผ ๊ฐ™์€ ๋ชจ์–‘์„ ์ถ”๊ฐ€ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ•˜๋ฉด ํด๋ž˜์Šค๋ฅผ ์ƒ์†ํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค Shape.

  • ์ง์‚ฌ๊ฐํ˜•.์ž๋ฐ”:

    public class Rectangle extends Shape {
       @Override
       public void draw() {
           System.out.println("Drawing rectangle");
       }
    }
  • ์‚ผ๊ฐํ˜•.์ž๋ฐ”:

    public class Triangle extends Shape {
       @Override
       public void draw() {
           System.out.println("Drawing triangle");
       }
    }
์ƒ‰์ƒ์˜ ๊ฐœ๋…์„ ์†Œ๊ฐœํ•˜๋Š” ์ˆœ๊ฐ„๊นŒ์ง€ ๋ชจ๋“  ๊ฒƒ์ด ๋‹จ์ˆœํ•ด ๋ณด์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๊ฐ ๋ชจ์–‘์€ ๊ณ ์œ ํ•œ ์ƒ‰์ƒ์„ ๊ฐ€์ง€๋ฉฐ ๋ฉ”์„œ๋“œ์˜ ๊ธฐ๋Šฅ์€ draw()์ด ์ƒ‰์ƒ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค. ๋ฉ”์„œ๋“œ๋ฅผ ๋‹ค๋ฅด๊ฒŒ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด draw()๊ฐ ๋ชจ์–‘-์ƒ‰์ƒ ์กฐํ•ฉ์— ๋Œ€ํ•œ ํด๋ž˜์Šค๋ฅผ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์„ธ ๊ฐ€์ง€ ์ƒ‰์ƒ์ด ์žˆ๋Š” ๊ฒฝ์šฐ TriangleBlack, TriangleGreen, TriangleRed, RectangleBlack๋ฐ ์˜ 6๊ฐœ ํด๋ž˜์Šค RectangleGreen๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค RectangleRed. 6๊ฐœ์˜ ํด๋ž˜์Šค๋Š” ๊ทธ๋ ‡๊ฒŒ ํฐ ๋ฌธ์ œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ! ์ƒˆ๋กœ์šด ๋ชจ์–‘์ด๋‚˜ ์ƒ‰์ƒ์„ ์ถ”๊ฐ€ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ํด๋ž˜์Šค ์ˆ˜๊ฐ€ ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ๋Š˜์–ด๋‚ฉ๋‹ˆ๋‹ค. ์ด ์ƒํ™ฉ์—์„œ ๋ฒ—์–ด๋‚˜๋Š” ๋ฐฉ๋ฒ•? ํ•„๋“œ์— ์ƒ‰์ƒ์„ ์ €์žฅํ•˜๊ณ  ์กฐ๊ฑด๋ฌธ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ์˜ต์…˜์„ ์—ด๊ฑฐํ•˜๋Š” ๊ฒƒ์€ ์ตœ์ƒ์˜ ์†”๋ฃจ์…˜์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ข‹์€ ํ•ด๊ฒฐ์ฑ…์€ ์ƒ‰์ƒ์„ ๋ณ„๋„์˜ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์˜ฎ๊ธฐ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.. Color์„ธ ๊ฐ€์ง€ ๊ตฌํ˜„์ด ์žˆ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. BlackColor, GreenColor๋ฐ RedColor:
  • ์ƒ‰์ƒ.์ž๋ฐ”:

    public interface Color {
       void fillColor();
    }
  • BlackColor.java:

    public class BlackColor implements Color {
       @Override
       public void fillColor() {
           System.out.println("Filling in black color");
       }
    }
  • GreenColor.java

    public class GreenColor implements Color {
       @Override
       public void fillColor() {
           System.out.println("Filling in green color");
       }
    }
  • RedColor.java

    public class RedColor implements Color {
       @Override
       public void fillColor() {
           System.out.println("Filling in red color");
       }
    }

    Color์ด์ œ ํด๋ž˜์Šค ์— ํ•„๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค Shape. ์šฐ๋ฆฌ๋Š” ์ƒ์„ฑ์ž์—์„œ ๊ทธ ๊ฐ’์„ ์–ป์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

  • ๋ชจ์–‘.์ž๋ฐ”:

    public abstract class Shape {
       protected Color color;
    
       public Shape(Color color) {
           this.color = color;
       }
    
       public abstract void draw();
    }

    color์šฐ๋ฆฌ๋Š” ๊ตฌํ˜„ ์—์„œ ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค Shape. ์ด๊ฒƒ์€ ๋„ํ˜•์ด ์ด์ œ ์ธํ„ฐํŽ˜์ด์Šค์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค Color.

  • Rectangle.java

    public class Rectangle extends Shape {
    
       public Rectangle(Color color) {
           super(color);
       }
    
       @Override
       public void draw() {
           System.out.println("Drawing rectangle");
           color.fillColor();
       }
    }
์งœ์ž”! ์ด์ œ ์šฐ๋ฆฌ๋Š” ๋‹ค์–‘ํ•œ ์ƒ‰์ƒ๊ณผ ๋ชจ์–‘์„ ๋ฌดํ•œ๋Œ€๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์œผ๋ฉฐ ํด๋ž˜์Šค์˜ ์ˆ˜๋Š” ์„ ํ˜•์ ์œผ๋กœ๋งŒ ์ฆ๊ฐ€ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ํ•„๋“œ Color color๋Š” ๋‘ ๊ฐœ์˜ ๊ฐœ๋ณ„ ํด๋ž˜์Šค ๊ณ„์ธต์„ ์—ฐ๊ฒฐํ•˜๋Š” ๋‹ค๋ฆฌ์ž…๋‹ˆ๋‹ค.

๋ธŒ๋ฆฌ์ง€ ๊ตฌ์ถ• ๋ฐฉ๋ฒ•: ์ถ”์ƒํ™” ๋ฐ ๊ตฌํ˜„

๋ธŒ๋ฆฌ์ง€ ํŒจํ„ด์„ ๋‚˜ํƒ€๋‚ด๋Š” ํด๋ž˜์Šค ๋‹ค์ด์–ด๊ทธ๋žจ์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋ธŒ๋ฆฌ์ง€ ๋””์ž์ธ ํŒจํ„ด ์†Œ๊ฐœ - 2์—ฌ๊ธฐ์—์„œ ์„œ๋กœ์˜ ๊ธฐ๋Šฅ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ณ  ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋‘ ๊ฐœ์˜ ๋…๋ฆฝ์ ์ธ ๊ตฌ์กฐ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ:
  • ์ถ”์ƒํ™”๋Š” Shapeํด๋ž˜์Šค ๋‹ค
  • Triangle์„ธ๋ จ๋œ ์ถ”์ƒํ™”๋Š” ๋ฐ Rectangleํด๋ž˜์Šค ์ž…๋‹ˆ๋‹ค.
  • ๊ตฌํ˜„์ž๋Š” Color์ธํ„ฐํŽ˜์ด์Šค ์ž…๋‹ˆ๋‹ค.
  • ConcreteImplementor๋Š” BlackColor, GreenColor๋ฐ RedColorํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค.
ํด๋ž˜์Šค ๋Š” ์ธํ„ฐํŽ˜์ด์Šค(๊ตฌํ˜„์ž) Shape์— ์œ„์ž„ํ•˜๋Š” ๋‹ค์–‘ํ•œ ์ƒ‰์ƒ์œผ๋กœ ๋„ํ˜• ์ฑ„์šฐ๊ธฐ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์ธ ์ถ”์ƒํ™”์ž…๋‹ˆ๋‹ค Color. Triangle๋ฐ ํด๋ž˜์Šค ๋Š” ํด๋ž˜์Šค Rectangle์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋Š” ๊ตฌ์ฒด์ ์ธ ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค Shape. BlackColor, GreenColor๋ฐ RedColor๊ตฌํ˜„ ๊ณ„์ธต ๊ตฌ์กฐ์˜ ๊ตฌ์ฒด์ ์ธ ๊ตฌํ˜„์ž…๋‹ˆ๋‹ค.

๋ธŒ๋ฆฌ์ง€ ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜๋Š” ์œ„์น˜

์ด ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜๋Š” ํฐ ์ด์ ์€ ๋‹ค๋ฅธ ๊ณ„์ธต์˜ ๋…ผ๋ฆฌ๋ฅผ ์†์ƒ์‹œํ‚ค์ง€ ์•Š๊ณ  ํ•œ ๊ณ„์ธต ๊ตฌ์กฐ์—์„œ ๊ธฐ๋Šฅ ํด๋ž˜์Šค๋ฅผ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด ์ ‘๊ทผ ๋ฐฉ์‹์€ ํด๋ž˜์Šค ๊ฐ„์˜ ๊ฒฐํ•ฉ์„ ์ค„์ด๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค. ์ด ํŒจํ„ด์„ ์‚ฌ์šฉํ•  ๋•Œ์˜ ์ฃผ์š” ์š”๊ตฌ ์‚ฌํ•ญ์€ "์ง€์นจ์„ ๋”ฐ๋ฅด์‹ญ์‹œ์˜ค"์ž…๋‹ˆ๋‹ค. ์ง€์นจ์„ ๋ฌด์‹œํ•˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค! ์ด๋ฅผ ์œ„ํ•ด ๋ธŒ๋ฆฌ์ง€ ํŒจํ„ด์„ ๋ฐ˜๋“œ์‹œ ์‚ฌ์šฉํ•ด์•ผ ํ•˜๋Š” ์ƒํ™ฉ์„ ํŒŒ์•…ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.
  1. ๋‘ ๊ฐ€์ง€ ๊ฐœ๋…(์˜ˆ: ๋ชจ์–‘ ๋ฐ ์ƒ‰์ƒ)์˜ ์กฐํ•ฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์—”ํ„ฐํ‹ฐ ์ˆ˜๋ฅผ ํ™•์žฅํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ.

  2. ๋‹จ์ผ ์ฑ…์ž„ ์›์น™์„ ์ถฉ์กฑํ•˜์ง€ ์•Š๋Š” ํฐ ํด๋ž˜์Šค๋ฅผ ๊ธฐ๋Šฅ์ด ์ข์€ ์ž‘์€ ํด๋ž˜์Šค๋กœ ๋‚˜๋ˆ„๋ ค๋Š” ๊ฒฝ์šฐ.

  3. ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ํŠน์ • ์—”ํ„ฐํ‹ฐ์˜ ๋…ผ๋ฆฌ๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ.

  4. ํด๋ž˜์Šค ๋˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ ๊ตฌํ˜„์„ ์ˆจ๊ธธ ํ•„์š”๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ.

์ด ํŒจํ„ด์„ ์‚ฌ์šฉํ•  ๋•Œ ํ•ญ์ƒ ์ฝ”๋“œ์— ์ถ”๊ฐ€ ์—”ํ„ฐํ‹ฐ๋ฅผ ์ถ”๊ฐ€ํ•œ๋‹ค๋Š” ์ ์„ ๊ธฐ์–ตํ•˜์„ธ์š”. ํ•˜๋‚˜์˜ ๋ชจ์–‘๊ณผ ํ•˜๋‚˜ ๋˜๋Š” ๋‘ ๊ฐœ์˜ ๊ฐ€๋Šฅํ•œ ์ƒ‰์ƒ๋งŒ ์žˆ๋Š” ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ์ด์น˜์— ๋งž์ง€ ์•Š์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŒจํ„ด์˜ ์žฅ๋‹จ์ 

๋‹ค๋ฅธ ํŒจํ„ด๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋ธŒ๋ฆฌ์ง€์—๋Š” ์žฅ์ ๊ณผ ๋‹จ์ ์ด ๋ชจ๋‘ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ธŒ๋ฆฌ์ง€ ํŒจํ„ด์˜ ์žฅ์ :
  1. ์ฝ”๋“œ์˜ ํ™•์žฅ์„ฑ์„ ํ–ฅ์ƒ์‹œ์ผœ ํ”„๋กœ๊ทธ๋žจ์˜ ๋‹ค๋ฅธ ๋ถ€๋ถ„์—์„œ ๋ฌด์–ธ๊ฐ€ ์†์ƒ๋  ์—ผ๋ ค ์—†์ด ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  2. ์—”ํ„ฐํ‹ฐ ์ˆ˜๊ฐ€ ๋‘ ๊ฐ€์ง€ ๊ฐœ๋…(์˜ˆ: ๋ชจ์–‘ ๋ฐ ์ƒ‰์ƒ)์˜ ์กฐํ•ฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•˜๋Š” ๊ฒฝ์šฐ ํ•˜์œ„ ํด๋ž˜์Šค ์ˆ˜๋ฅผ ์ค„์ž…๋‹ˆ๋‹ค.
  3. ์ถ”์ƒํ™”์™€ ๊ตฌํ˜„์ด๋ผ๋Š” ๋‘ ๊ฐœ์˜ ๋ณ„๋„ ๊ณ„์ธต์—์„œ ๊ฐœ๋ณ„์ ์œผ๋กœ ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ๊ฐœ๋ฐœ์ž๊ฐ€ ์„œ๋กœ์˜ ์ฝ”๋“œ๋ฅผ ์ž์„ธํžˆ ์‚ดํŽด๋ณด์ง€ ์•Š๊ณ ๋„ ๋ณ€๊ฒฝ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  4. ์ด๋Š” ํด๋ž˜์Šค ๊ฐ„์˜ ๊ฒฐํ•ฉ์„ ์ค„์ž…๋‹ˆ๋‹ค. ๋‘ ํด๋ž˜์Šค๊ฐ€ ๊ฒฐํ•ฉ๋˜๋Š” ์œ ์ผํ•œ ์žฅ์†Œ๋Š” ๋ธŒ๋ฆฌ์ง€(์˜ˆ: ํ•„๋“œ Color color)์ž…๋‹ˆ๋‹ค.
๋ธŒ๋ฆฌ์ง€ ํŒจํ„ด์˜ ๋‹จ์ :
  1. ํŠน์ • ์ƒํ™ฉ๊ณผ ํ”„๋กœ์ ํŠธ์˜ ์ „์ฒด ๊ตฌ์กฐ์— ๋”ฐ๋ผ ํ”„๋กœ๊ทธ๋žจ ์„ฑ๋Šฅ์— ๋ถ€์ •์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(์˜ˆ: ๋” ๋งŽ์€ ๊ฐœ์ฒด๋ฅผ ์ดˆ๊ธฐํ™”ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ).
  2. ๋‘ ํด๋ž˜์Šค ์‚ฌ์ด๋ฅผ ์ „ํ™˜ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ์ฝ”๋“œ ๊ฐ€๋…์„ฑ์ด ๋–จ์–ด์ง‘๋‹ˆ๋‹ค.

์ „๋žต ํŒจํ„ด๊ณผ์˜ ์ฐจ์ด์ 

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