CodeGym /Java Blog /๋ฌด์ž‘์œ„์˜ /์ž๋ฐ” ์‹ฑ๊ธ€ํ†ค ํด๋ž˜์Šค
John Squirrels
๋ ˆ๋ฒจ 41
San Francisco

์ž๋ฐ” ์‹ฑ๊ธ€ํ†ค ํด๋ž˜์Šค

๋ฌด์ž‘์œ„์˜ ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
์•ˆ๋…•! ์˜ค๋Š˜ ์šฐ๋ฆฌ๋Š” Java Singleton ํŒจํ„ด์„ ์‹œ์ž‘์œผ๋กœ ๋‹ค์–‘ํ•œ ๋””์ž์ธ ํŒจํ„ด์˜ ์„ธ๋ถ€ ์‚ฌํ•ญ์„ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฒ€ํ† ํ•ด ๋ด…์‹œ๋‹ค: ์ผ๋ฐ˜์ ์œผ๋กœ ๋””์ž์ธ ํŒจํ„ด์— ๋Œ€ํ•ด ๋ฌด์—‡์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๊นŒ? ๋””์ž์ธ ํŒจํ„ด์€ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์•Œ๋ ค์ง„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋ฒ” ์‚ฌ๋ก€์ž…๋‹ˆ๋‹ค. ๋””์ž์ธ ํŒจํ„ด์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์–ด๋–ค ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์—๋„ ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์‹ค์ˆ˜๋ฅผ ํ”ผํ•˜๊ณ  ๋ฐ”ํ€ด์˜ ์žฌ๋ฐœ๋ช…์„ ํ”ผํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ์ผ๋ จ์˜ ๊ถŒ์žฅ ์‚ฌํ•ญ์œผ๋กœ ์ƒ๊ฐํ•˜์‹ญ์‹œ์˜ค.๋””์ž์ธ ํŒจํ„ด: ์‹ฑ๊ธ€ํ†ค - 1

Java์—์„œ ์‹ฑ๊ธ€ํ†ค์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

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

  2. ํ•ด๋‹น ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•œ ๊ธ€๋กœ๋ฒŒ ์•ก์„ธ์Šค์˜ ๋‹จ์ผ ์ง€์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๊ฑฐ์˜ ๋ชจ๋“  ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด ๊ตฌํ˜„์˜ ํŠน์ง•์ธ ๋‘ ๊ฐ€์ง€ ๊ธฐ๋Šฅ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  1. ๊ฐœ์ธ ์ƒ์„ฑ์ž. ์ด๋Š” ํด๋ž˜์Šค ์ž์ฒด ์™ธ๋ถ€์—์„œ ํด๋ž˜์Šค์˜ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œํ•œํ•ฉ๋‹ˆ๋‹ค.

  2. ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๊ณต์šฉ ์ •์  ๋ฉ”์„œ๋“œ์ž…๋‹ˆ๋‹ค. ์ด ๋ฉ”์„œ๋“œ๋ฅผ getInstance ๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค . ์ด๊ฒƒ์€ ํด๋ž˜์Šค ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•œ ์ „์—ญ ์•ก์„ธ์Šค ์ง€์ ์ž…๋‹ˆ๋‹ค.

๊ตฌํ˜„ ์˜ต์…˜

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

  • ๊ฐ„๋‹จํ•˜๊ณ  ํˆฌ๋ช…ํ•œ ์ฝ”๋“œ: ๋ฌผ๋ก  ์ด ๋ฉ”ํŠธ๋ฆญ์€ ์ฃผ๊ด€์ ์ด์ง€๋งŒ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

  • ์Šค๋ ˆ๋“œ ์•ˆ์ „์„ฑ: ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ์˜ฌ๋ฐ”๋ฅธ ์ž‘๋™.

  • ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์˜ ๊ณ ์„ฑ๋Šฅ: ๋ฆฌ์†Œ์Šค๋ฅผ ๊ณต์œ ํ•  ๋•Œ ์Šค๋ ˆ๋“œ ์ฐจ๋‹จ์ด ๊ฑฐ์˜ ๋˜๋Š” ์ „ํ˜€ ์—†์Šต๋‹ˆ๋‹ค.

์ด์ œ ๋‹จ์ . ๊ตฌํ˜„์„ ๋‚˜์œ ๊ด€์ ์œผ๋กœ ๋งŒ๋“œ๋Š” ์š”์†Œ๋ฅผ ๋‚˜์—ดํ•ฉ๋‹ˆ๋‹ค.
  • ์ง€์—ฐ ์ดˆ๊ธฐํ™” ์—†์Œ: ํ•„์š” ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ์‹œ์ž‘ ์‹œ ํด๋ž˜์Šค๊ฐ€ ๋กœ๋“œ๋  ๋•Œ(์—ญ์„ค์ ์œผ๋กœ IT ์„ธ๊ณ„์—์„œ๋Š” ๊ฒŒ์œผ๋ฅธ ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค)

  • ๋ณต์žกํ•˜๊ณ  ์ฝ๊ธฐ ์–ด๋ ค์šด ์ฝ”๋“œ. ์ด ์ง€ํ‘œ๋„ ์ฃผ๊ด€์ ์ž…๋‹ˆ๋‹ค. ๋ˆˆ์—์„œ ํ”ผ๊ฐ€ ๋‚˜๊ธฐ ์‹œ์ž‘ํ•˜๋ฉด ๊ตฌํ˜„์ด ์ตœ์„ ์ด ์•„๋‹ˆ๋ผ๊ณ  ๊ฐ€์ •ํ•ฉ๋‹ˆ๋‹ค.

  • ์Šค๋ ˆ๋“œ ์•ˆ์ „์„ฑ์ด ๋ถ€์กฑํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, "์Šค๋ ˆ๋“œ ์œ„ํ—˜"์ž…๋‹ˆ๋‹ค. ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ์ž˜๋ชป๋œ ์ž‘์—…์ž…๋‹ˆ๋‹ค.

  • ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ์„ฑ๋Šฅ ์ €ํ•˜: ์Šค๋ ˆ๋“œ๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ๊ณต์œ ํ•  ๋•Œ ํ•ญ์ƒ ๋˜๋Š” ์ž์ฃผ ์„œ๋กœ๋ฅผ ์ฐจ๋‹จํ•ฉ๋‹ˆ๋‹ค.

์•”ํ˜ธ

์ด์ œ ๋‹ค์–‘ํ•œ ๊ตฌํ˜„ ์˜ต์…˜์„ ๊ณ ๋ คํ•˜๊ณ  ์žฅ๋‹จ์ ์„ ํ‘œ์‹œํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋‹จ์ˆœํ•œ


public class Singleton {
    private static final Singleton INSTANCE = new Singleton();
    
    private Singleton() {
    }
    
    public static Singleton getInstance() {
        return INSTANCE;
    }
}
๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๊ตฌํ˜„. ์žฅ์ :
  • ๊ฐ„๋‹จํ•˜๊ณ  ํˆฌ๋ช…ํ•œ ์ฝ”๋“œ

  • ์Šค๋ ˆ๋“œ ์•ˆ์ „์„ฑ

  • ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ๊ณ ์„ฑ๋Šฅ

๋‹จ์ :
  • ๊ฒŒ์œผ๋ฅธ ์ดˆ๊ธฐํ™”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
์ด์ „์˜ ๋‹จ์ ์„ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•œ ์‹œ๋„์—์„œ ๋‘ ๋ฒˆ์งธ ๊ตฌํ˜„์„ ์–ป์Šต๋‹ˆ๋‹ค.

์ง€์—ฐ ์ดˆ๊ธฐํ™”


public class Singleton {
  private static final Singleton INSTANCE;

  private Singleton() {}

  public static Singleton getInstance() {
    if (INSTANCE == null) {
      INSTANCE = new Singleton();
    }
    return INSTANCE;
  }
}
์žฅ์ :
  • ๊ฒŒ์œผ๋ฅธ ์ดˆ๊ธฐํ™”.

๋‹จ์ :
  • ์Šค๋ ˆ๋“œ๋กœ๋ถ€ํ„ฐ ์•ˆ์ „ํ•˜์ง€ ์•Š์Œ

์ด ๊ตฌํ˜„์€ ํฅ๋ฏธ ๋กญ์Šต๋‹ˆ๋‹ค. ๋Š๋ฆฌ๊ฒŒ ์ดˆ๊ธฐํ™”ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์Šค๋ ˆ๋“œ ์•ˆ์ „์„ฑ์ด ์†์‹ค๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฑฑ์ •ํ•˜์ง€ ๋งˆ์„ธ์š”. ๊ตฌํ˜„ 3๋ฒˆ์—์„œ ๋ชจ๋“  ๊ฒƒ์„ ๋™๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.

๋™๊ธฐํ™”๋œ ์•ก์„ธ์Šค


public class Singleton {
  private static final Singleton INSTANCE;

  private Singleton() {
  }

  public static synchronized Singleton getInstance() {
    if (INSTANCE == null) {
      INSTANCE = new Singleton();
    }
    return INSTANCE;
  }
}
์žฅ์ :
  • ๊ฒŒ์œผ๋ฅธ ์ดˆ๊ธฐํ™”.

  • ์Šค๋ ˆ๋“œ ์•ˆ์ „์„ฑ

๋‹จ์ :
  • ๋ฉ€ํ‹ฐ์Šค๋ ˆ๋“œ ์„ฑ๋Šฅ ์ €ํ•˜

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

์ด์ค‘ ํ™•์ธ ์ž ๊ธˆ


public class Singleton {
    private static final Singleton INSTANCE;

  private Singleton() {
  }

    public static Singleton getInstance() {
        if (INSTANCE == null) {
            synchronized (Singleton.class) {
                if (INSTANCE == null) {
                    INSTANCE = new Singleton();
                }
            }
        }
        return INSTANCE;
    }
}
์žฅ์ :
  • ๊ฒŒ์œผ๋ฅธ ์ดˆ๊ธฐํ™”.

  • ์Šค๋ ˆ๋“œ ์•ˆ์ „์„ฑ

  • ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ๊ณ ์„ฑ๋Šฅ

๋‹จ์ :
  • Java 1.5 ์ดํ•˜ ์ด์ „ ๋ฒ„์ „์—์„œ๋Š” ์ง€์›ํ•˜์ง€ ์•Š์Œ(1.5 ๋ฒ„์ „๋ถ€ํ„ฐ volatile ํ‚ค์›Œ๋“œ ์‚ฌ์šฉ์ด ์ˆ˜์ •๋จ)

์ด ๊ตฌํ˜„ ์˜ต์…˜์ด ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘๋™ํ•˜๋ ค๋ฉด ๋‘ ๊ฐ€์ง€ ์กฐ๊ฑด ์ค‘ ํ•˜๋‚˜๊ฐ€ ์ถฉ์กฑ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. INSTANCE ๋ณ€์ˆ˜ ๋Š” final ๋˜๋Š” volatile ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค . ์˜ค๋Š˜ ๋…ผ์˜ํ•  ๋งˆ์ง€๋ง‰ ๊ตฌํ˜„์€ ํด๋ž˜์Šค ํ™€๋” ์‹ฑ๊ธ€ํ†ค ์ž…๋‹ˆ๋‹ค .

ํด๋ž˜์Šค ํ™€๋”


public class Singleton {

   private Singleton() {
   }

   private static class SingletonHolder {
       public static final Singleton HOLDER_INSTANCE = new Singleton();
   }

   public static Singleton getInstance() {
       return SingletonHolder.HOLDER_INSTANCE;
   }
}
์žฅ์ :
  • ๊ฒŒ์œผ๋ฅธ ์ดˆ๊ธฐํ™”.

  • ์Šค๋ ˆ๋“œ ์•ˆ์ „.

  • ๋‹ค์ค‘ ์Šค๋ ˆ๋“œ ํ™˜๊ฒฝ์—์„œ ๊ณ ์„ฑ๋Šฅ.

๋‹จ์ :
  • ์˜ฌ๋ฐ”๋ฅธ ์ž‘์—…์„ ์œ„ํ•ด์„œ๋Š” ์‹ฑ๊ธ€ํ†ค ๊ฐœ์ฒด๊ฐ€ ์˜ค๋ฅ˜ ์—†์ด ์ดˆ๊ธฐํ™”๋œ๋‹ค๋Š” ๋ณด์žฅ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด getInstance ๋ฉ”์„œ๋“œ ์— ๋Œ€ํ•œ ์ฒซ ๋ฒˆ์งธ ํ˜ธ์ถœ ์—์„œ ExceptionInInitializerError ๊ฐ€ ๋ฐœ์ƒ ํ•˜๊ณ  ๋ชจ๋“  ํ›„์† ํ˜ธ์ถœ์—์„œ NoClassDefFoundError ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค .

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

์‹ฑ๊ธ€ํ†ค ํŒจํ„ด์˜ ์žฅ๋‹จ์ 

์ผ๋ฐ˜์ ์œผ๋กœ ์‹ฑ๊ธ€ํ†ค์€ ์˜ˆ์ƒ๋Œ€๋กœ ์ •ํ™•ํžˆ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  1. ํด๋ž˜์Šค์˜ ์ธ์Šคํ„ด์Šค๊ฐ€ ํ•˜๋‚˜๋งŒ ์žˆ์Œ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

  2. ํ•ด๋‹น ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•œ ๊ธ€๋กœ๋ฒŒ ์•ก์„ธ์Šค์˜ ๋‹จ์ผ ์ง€์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ์ด ํŒจํ„ด์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹จ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  1. ์‹ฑ๊ธ€ํ†ค์€ ๋‹จ์ผ ์ฑ…์ž„ ์›์น™์„ ์œ„๋ฐ˜ํ•ฉ๋‹ˆ๋‹ค. ์ง์ ‘์ ์ธ ์˜๋ฌด ์™ธ์—๋„ ์‹ฑ๊ธ€ํ†ค ํด๋ž˜์Šค๋Š” ์ธ์Šคํ„ด์Šค ์ˆ˜๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค.

  2. ์‹ฑ๊ธ€ํ†ค์— ๋Œ€ํ•œ ์ผ๋ฐ˜ ํด๋ž˜์Šค์˜ ์ข…์†์„ฑ์€ ํด๋ž˜์Šค์˜ ๊ณต๊ฐœ ๊ณ„์•ฝ์—์„œ ๋ณผ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

  3. ์ „์—ญ ๋ณ€์ˆ˜๊ฐ€ ์ž˜๋ชป๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ถ๊ทน์ ์œผ๋กœ ์‹ฑ๊ธ€ํ†ค์€ ์—„์ฒญ๋‚œ ์ „์—ญ ๋ณ€์ˆ˜๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

  4. ์‹ฑ๊ธ€ํ†ค์˜ ์กด์žฌ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ „์ฒด์™€ ํŠนํžˆ ์‹ฑ๊ธ€ํ†ค์„ ์‚ฌ์šฉํ•˜๋Š” ํด๋ž˜์Šค์˜ ํ…Œ์ŠคํŠธ ๊ฐ€๋Šฅ์„ฑ์„ ๊ฐ์†Œ์‹œํ‚ต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒŒ ๋‹ค์•ผ! :) ์šฐ๋ฆฌ๋Š” ๋‹น์‹ ๊ณผ ํ•จ๊ป˜ ์ž๋ฐ” ์‹ฑ๊ธ€ํ†ค ํด๋ž˜์Šค๋ฅผ ํƒ๊ตฌํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋‚จ์€ ์ƒ์•  ๋™์•ˆ ํ”„๋กœ๊ทธ๋ž˜๋จธ ์นœ๊ตฌ๋“ค๊ณผ ๋Œ€ํ™”ํ•  ๋•Œ ํŒจํ„ด์ด ์–ผ๋งˆ๋‚˜ ์ข‹์€์ง€ ์–ธ๊ธ‰ํ•  ์ˆ˜ ์žˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋ฌด์—‡์ด ๊ทธ๊ฒƒ์„ ๋‚˜์˜๊ฒŒ ๋งŒ๋“œ๋Š”์ง€์— ๋Œ€ํ•ด์„œ๋„ ๋ช‡ ๋งˆ๋”” ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์ƒˆ๋กœ์šด ์ง€์‹์„ ๋งˆ์Šคํ„ฐํ•˜๋Š” ๋ฐ ํ–‰์šด์„ ๋น•๋‹ˆ๋‹ค.

์ถ”๊ฐ€ ์ž๋ฃŒ:

์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION