IBM Korea Skip to main content
       IBM Ȩ    |  Á¦Ç° & ¼­ºñ½º  |  °í°´Áö¿ø & ´Ù¿î·Îµå  |  È¸¿ø°¡ÀÔ  

Magic with Merlin: Ç¥¸í ±â´É ÀÌ¿ëÇϱâ
¸ñ Â÷:
assert Å°¿öµå
Ç¥¸í È°¼ºÈ­Çϱâ
Ç¥¸íÀ» »ç¿ëÇϱâ À§ÇÑ ´Ù¸¥ ¹æ¹ýµé
ÇÁ·Î±×·¥ÀûÀ¸·Î È°¼ºÈ­½ÃÅ°±â
°á·Ð
Âü°í ÀÚ·á
ÇÊÀÚ ¼Ò°³
±â»ç¿¡ ´ëÇÑ Æò°¡
°ü·Ã dW ¸µÅ©:
Ant¿Í JUnit¸¦ »ç¿ëÇÑ Á¡ÁøÀû °³¹ßI
Magic with Merlin Ä÷³
ÀÚ¹Ù ¸â¹ö ±â´É ¹®¼­È­Çϱâ
alphaWorksÀÇ JATE
US ¿ø¹® Àбâ
ÀÚ¹Ù Äڵ忡¼­ Ç¥¸íÀ» È°¼ºÈ­/ºñÈ°¼ºÈ­½ÃÅ°´Â ¹æ¹ý

John Zukowski
ȍˌ, JZ Ventures, Inc.
2002³â 2¿ù

MerlinÀº Å×½ºÆà Çâ»óÀ» À§ÇØ ¸Þ¼Òµå¿¡ »çÀü Á¶°Ç ¹× »çÈÄ Á¶°Ç¿¡ µû¸¥ °ËÁõ ±â´ÉÀ» ¼±Åà »çÇ×À¸·Î Á¦°øÇÑ´Ù. Ç¥¸í (assertion) ±â´ÉÀº ½ÇÇà½Ã¿¡ ±âº»ÀûÀ¸·Î ºñÈ°¼ºÈ­µÇ¾î ÀÖÁö¸¸, ¿¡·¯ Á¶°ÇÀ» üũÇϱâ À§ÇØ È°¼ºÈ­µÉ ÀÖ´Ù. John Zukowski´Â ¿©·¯ºÐ Äڵ忡 Ç¥¸í¿¡ ÀÇÇÑ °Ë»ç ±â´ÉÀ» Ãß°¡Çϱâ À§ÇÑ ±âº»ÀûÀÎ »çÇ×°ú, ¸í·ÉÇàÀ¸·Î ±×¸®°í ÇÁ·Î±×·¥ÀûÀ¸·Î Ç¥¸íÀ» È°¼ºÈ­ÇÏ°í ºñÈ°¼ºÈ­½ÃÅ°´Â ¹æ¹ý¿¡ °üÇØ ¼³¸íÇÏ°Ú´Ù.

Ç¥¸í ±â´ÉÀº Java 1.4ÆÇ¿¡¼­ ¿­·ÄÇÏ°Ô ±â´Ù·ÁÁö´ø »õ ±â´ÉÀÌ´Ù. ¿©·¯ºÐÀº Ç¥¸íÀ» Çâ»óµÈ ¿¹¿Ü ó¸® ±â´ÉÀ̶ó°í »ý°¢ÇÏ¸é µÈ´Ù. Ç¥¸íÀ̶õ ºÒ¸®¾ð Ç¥Çö½ÄÀ¸·Î¼­, ÇÁ·Î±×·¡¸Ó°¡ ÇÁ·Î±×·¥ÀÇ Æ¯Á¤ ÁöÁ¡¿¡¼­ ÂüÀÌ µÇ¾î¾ß ÇÑ´Ù°í ¹Ï´Â ¹Ù¸¦ Ç¥ÇöÇÑ´Ù. ¿¹¸¦ µé¾î, ÇÁ·Î±×·¡¸Ó´Â switch ¹®¿¡¼­ default Á¶°Ç¿¡ µµ´ÞÇÏÁö ¾Ê¾Æ¾ß ÇѴٴ ǥ¸íÀ» Æ÷ÇÔ½Ãų ¼ö ÀÖ´Ù.

Ç¥¸í °ËÁõÀº ¾î¶² ½ÃÁ¡¿¡¼­µµ È°¼ºÈ­/ºñÈ°¼ºÈ­µÉ ¼ö Àֱ⠶§¹®¿¡, Ç¥¸íÀÌ È°¼ºÈ­µÈ »óÅ¿¡¼­ Å×½ºÆ®¸¦ ÇÏ°í Ç¥¸íÀÌ ºñÈ°¼ºÈ­µÈ ä·Î ¹èÄ¡ÇÒ ¼ö ÀÖ´Ù. ¸¶Âù°¡Áö·Î »ç¿ëÀÚ´Â ½ÇÇà ÁßÀÎ ÇÁ·Î±×·¥¿¡¼­ ¹®Á¦¸¦ ¸¸³µÀ» ¶§ Ç¥¸íÀ» ÀçÈ°¼ºÈ­ÇÒ ¼ö ÀÖ´Ù.

À̹ø Ä÷³¿¡¼­ ³ª´Â ¿©·¯ºÐ Äڵ忡 Ç¥¸íÀ» Ãß°¡Çϱâ À§ÇÑ ±âº»ÀûÀÎ »çÇ×µéÀ» ¼Ò°³ÇÏ°í, ÃÖÀûÀÇ ÄÚµå Å×½ºÆðú ¼º´ÉÀ» À§ÇØ Ç¥¸íÀ» È°¼ºÈ­ÇÏ°í ºñÈ°¼ºÈ­½ÃÅ°´Â µÎ °³ÀÇ ´Ù¸¥ ¹æ¹ýÀ» º¸¿© ÁÖ°Ú´Ù.

assert Å°¿öµå

Ç¥¸í °Ë»ç´Â ¿¹¿Ü ó¸®¿Í ºñ½ÁÇÏÁö¸¸, Ç¥¸íÀÌ ½ÇÆÐÇßÀ» ¶§ ¾î¶² ¿¹¿Ü »óȲµµ ¹ß»ýÇÏÁö ¾Ê´Â´Ù. ´ë½Å AssertionError°¡ ÁÖ¾îÁø´Ù. ¸ðµç ¿¡·¯¿Í ¸¶Âù°¡Áö·Î Ç¥¸í Àå¾Ö¿¡¼­ÀÇ º¹±¸´Â ºÒ°¡´ÉÇÏÁö´Â ¾Ê´Ù ÇÏ´õ¶óµµ ¾î·Æ´Ù. ±×·¯ÇÑ Àå¾Ö´Â ÇÁ·Î±×·¥ »óÅ°¡ Á¤»óÀûÀÎ ÀÛ¾÷ ¸Å°³º¯¼ö¸¦ ¹þ¾î³µ´Ù´Â ¶æÀ̱⠶§¹®ÀÌ´Ù.

Ç¥¸íÀ» »ç¿ëÇϱâ À§ÇÑ µÎ °¡Áö ±âº» »ý¼ºÀÚ´Â ´ÙÀ½°ú °°´Ù.:


assert booleanExpression;
assert booleanExpression : message;

¹ß»ýµÇ´Â ¿¡·¯ÀÇ °á°ú·Î ¼±ÅÃÀûÀ¸·Î ¸Þ½ÃÁö°¡ ³ªÅ¸³­´Ù´Âµ¥ ÁÖÀÇÇÑ´Ù.

¿©·¯ºÐÀº Ç¥¸í ±¸¹®À» ¸Þ¼ÒµåÀÇ »çÀü Á¶°ÇÀ̳ª »çÈÄ Á¶°ÇÀ¸·Î Ãß°¡ÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ ¸Þ¼Òµå¸¦ È£ÃâÇϱâ À§ÇØ ºÒ¸®¾ð Ç¥Çö½ÄÀ» ¼³Á¤ÇÒ ¼ö ÀÖ´Ù. ¶ÇÇÑ Á¶°ÇÀÌ °¡Á¤µÈ if ºí·Ï ³»ÀÇ else Á¶°ÇÀ̳ª °áÄÚ µµ´ÞÇÏÁö ¾ÊÀ» switch ±¸¹®ÀÇ default Àý¿¡ Ç¥¸íÀ» Ãß°¡ÇÒ ¼öµµ ÀÖ´Ù. assert Å°¿öµå¿¡ ´ëÇÑ À¯ÀÏÇÑ Á¦ÇÑ »çÇ×Àº ½ÇÇàµÉ ¼ö ÀÖ´Â ºí·Ï¿¡ ÀÖ¾î¾ß ÇÑ´Ù´Â °ÍÀÌ´Ù. Ç¥¸íÀº ÀνºÅϽº¿¡ ´ëÇÑ Å¬·¡½º º¯¼ö ¼±¾ð¿¡ »ç¿ëµÉ ¼ö ¾øÁö¸¸, ¾î¶² ¸Þ¼Òµå¿¡µµ µÑ ¼ö ÀÖ´Ù.

Ç¥¸í È°¼ºÈ­Çϱâ

¿©·¯ºÐÀÌ Ç¥¸íÀ» »ç¿ëÇÏ°í ½Í´Ù¸é ÇÁ·Î±×·¥À» ÄÄÆÄÀÏÇÏ°í ½ÇÇà½ÃÅ°±â À§ÇØ ¸î °¡Áö Ư¼öÇÑ ¸í·ÉÇà ¿É¼ÇÀ» ½á¾ß ÇÒ °ÍÀÌ´Ù. ÄÄÆÄÀÏ·¯°¡ 1.3 ȣȯ ¸ðµå¿¡¼­ ÀÛµ¿Çϱ⠶§¹®¿¡ ¿©·¯ºÐÀº ¸íÈ®ÇÏ°Ô 1.4 ¸ðµå¸¦ ¿äûÇØ¾ß ÇÑ´Ù. Ç¥¸íÀÌ Æ÷ÇÔµÈ ÇÁ·Î±×·¥À» ÄÄÆÄÀÏÇÏ·Á¸é °£´ÜÈ÷ ÀÚ¹Ù ÄÄÆÄÀÏ·¯¿¡°Ô -source 1.4 ¼³Á¤À» º¸³»¸é µÈ´Ù. Ç¥¸í °Ë»ç´Â ±âº»ÀûÀ¸·Î ºñÈ°¼ºÈ­µÇ¾î ÀÖ´Ù. µû¶ó¼­ ¿©·¯ºÐÀº ¶ÇÇÑ ½ÇÇà½Ã¿¡ ÀÌ ±â´ÉÀ» ºÐ¸íÇÏ°Ô È°¼ºÈ­½ÃÄÑ¾ß ÇÒ °ÍÀÌ´Ù. Ç¥¸í °Ë»ç¸¦ È°¼ºÈ­½ÃÅ°·Á¸é -enableassertions ¿É¼ÇÀ̳ª Á» ´õ ªÀº -ea ¿É¼ÇÀ» »ç¿ëÇÑ´Ù.

´ÙÀ½ÀÇ °£´ÜÇÑ ¿¹Á¦´Â ¿©·¯ºÐ ÇÁ·Î±×·¥¿¡ Ç¥¸í °Ë»ç¸¦ Ãß°¡Çϱâ À§ÇØ ÇÊ¿äÇÑ ´Ü°èµéÀ» º¸¿© Áִµ¥, ¸í·ÉÇà ÀÎÀÚÀÇ ¼ö¸¦ üũÇÏ°í ÀÎÀÚ°¡ 0ÀÌ ¾Æ´Ñ °æ¿ì ¹®Á¦¸¦ º¸°íÇÑ´Ù.:


public class AssertTest {
  public static void main(String args[]) {
    assert args.length == 0 : args.length + " != 0";
    System.out.println(args.length);
  }
}

ÇÁ·Î±×·¥À» ÄÄÆÄÀÏÇÏ·Á¸é ´ÙÀ½°ú °°ÀÌ -source ¿É¼ÇÀ» »ç¿ëÇØ¾ß ÇÑ´Ù.:


javac -source 1.4 AssertTest.java

ÇÁ·Î±×·¥À» Å×½ºÆ®ÇÏ·Á¸é ´ÜÁö ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ°°í ¸í·ÉÇà ÀÎÀÚ¸¦ º¸³»¸é µÈ´Ù.:


java AssertTest 1 2 3 4

ÇÁ·Î±×·¥Àº ÀÎÀÚÀÇ °¹¼ö¸¦ Ç¥½ÃÇϱ⠶§¹®¿¡ ÀÌ Å×½ºÆ®´Â 4¸¦ º¸°íÇÒ °ÍÀÌ´Ù. Ç¥¸í °Ë»ç´Â ±âº»ÀûÀ¸·Î ºñÈ°¼ºÈ­µÇ¾î Àֱ⠶§¹®¿¡ ¾î¶² Ç¥¸í ¿¡·¯µµ ÃßÀûµÇÁö ¾Ê´Â´Ù.

ÀÌÁ¦ Ç¥¸í °Ë»ç°¡ È°¼ºÈ­µÈ ÇÁ·Î±×·¥À» ½ÇÇà½ÃÄÑ º¸ÀÚ.:


java -ea AssertTest 1 2 3 4

Ç¥¸í °Ë»ç°¡ È°¼ºÈ­µÈ ÇÁ·Î±×·¥À» ½ÇÇà½ÃÅ°¸é ´ÙÀ½°ú °°Àº ¿¡·¯ ¸®Æ÷Æ®°¡ ³ª¿Â´Ù.:


Exception in thread "main" java.lang.AssertionError: 1 != 0
        at AssertTest.main(AssertTest.java:3)

º»ÁúÀûÀ¸·Î ÀÌ°ÍÀÌ Ç¥¸í ±â´ÉÀÇ ÀüºÎÀÌ´Ù. °¡Àå ¾î·Á¿î ºÎºÐÀº assert Å°¿öµå¸¦ ¾îµð¿¡ µÎ¾î¾ß ÇÏ´ÂÁö¿Í Á¶°ÇÀÌ ¹«¾ùÀÎÁö¸¦ ¾Æ´Â °ÍÀÌ´Ù.

Ç¥¸íÀ» »ç¿ëÇϱâ À§ÇÑ ´Ù¸¥ ¹æ¹ýµé

-ea ¿É¼ÇÀÌ ÇÁ·Î±×·¥ Àüü¿¡ Ç¥¸íÀ» È°¼ºÈ­½ÃÅ°´Â ½¬¿î ¹æ¹ýÀ̱ä ÇÏÁö¸¸, ´Ù¸¥ ¿É¼Çµéµµ ÀÖ´Ù. ¶ÇÇÑ -ea´Â ½Ã½ºÅÛ Å¬·¡½º¿¡´Â ÀÛµ¿ÇÏÁö ¾Ê´Â´Ù.; µû¶ó¼­ ¿©·¯ºÐÀº -enablesystemassertions ȤÀº º¸´Ù ½±°Ô -esa¸¦ »ç¿ëÇØ¾ß ÇÑ´Ù.

Àüü ÆÐÅ°Áö Æ®¸® (Áï ÆÐÅ°Áö¿Í ¸ðµç ÇÏÀ§ ÆÐÅ°Áö)¿¡ Ç¥¸íÀ» È°¼ºÈ­½ÃÅ°·Á¸é -ea ¿É¼Ç µÚ¿¡ ÄÝ·ÐÀ» ºÙÀÌ°í ÆÐÅ°Áö À̸§°ú »ý·« Ç¥½Ã (...)¸¦ ¾²¸é µÈ´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½ ±¸¹®Àº net.zukowski.ibm ÆÐÅ°Áö¿Í ÀÌ ÆÐÅ°ÁöÀÇ ¸ðµç ÇÏÀ§ ÆÐÅ°Áö¿¡ ´ëÇØ Ç¥¸í °Ë»ç¸¦ È°¼ºÈ­½Ãų °ÍÀÌ´Ù.:


java -ea:net.zukowski.ibm... EclipseTest

ƯÁ¤ Ŭ·¡½º¿¡ ´ëÇؼ­´Â »ý·« Ç¥½Ã·Î ÆÐÅ°Áö À̸§À» ³¡³»´Â ´ë½Å Àüü Ŭ·¡½º ¸íÀ» ÁöÁ¤ÇÑ´Ù.

¸¸ÀÏ ¿©·¯ºÐÀÌ Àüü ÆÐÅ°Áö¿¡ ´ëÇØ Ç¥¸í °Ë»ç¸¦ È°¼ºÈ­½ÃÅ°°í ½ÍÀºµ¥ ¾î´À ƯÁ¤ Ŭ·¡½º³ª ÆÐÅ°Áö¸¦ Á¦¿ÜÇÏ°í ½Í´Ù¸é, -da ű׸¦ »ç¿ëÇÏ¸é µÈ´Ù. ("-da"´Â -disableassertionsÀÇ ÁÙÀÓ²ÃÀÌ´Ù.) È°¼ºÈ­¿Í ºñÈ°¼ºÈ­ ¿É¼ÇÀ» ³ª¿­Çϱ⸸ Çϸé Áغñ°¡ ´Ù µÈ °ÍÀÌ´Ù. ¿¹¸¦ µé¾î, ´ÙÀ½ ±¸¹®Àº net.zukowski.ibm ÆÐÅ°Áö Àüü¿¡ ´ëÇØ Ç¥¸í °Ë»ç¸¦ È°¼ºÈ­½ÃÅ°Áö¸¸ net.zukowski.ibm.BeanUtils Ŭ·¡½º´Â Á¦¿Ü½ÃŲ´Ù.:


java -ea:net.zukowski.ibm... -da:net.zukowski.ibm.BeanUtils EclipseTest

ÇÁ·Î±×·¥ÀûÀ¸·Î Ç¥¸í È°¼ºÈ­Çϱâ

¸í·ÉÇà¿¡¼­ Ç¥¸í °Ë»ç¸¦ È°¼ºÈ­Çϴµ¥ ´õÇÏ¿© ÇÁ·Î±×·¥ÀûÀ¸·Î °Ë»ç¸¦ È°¼ºÈ­ (ȤÀº ºñÈ°¼ºÈ­) ½Ãų ¼ö ÀÖ´Ù. ÀÌ°ÍÀº ¾ÕÀ¸·Î ·ÎµùµÉ Ŭ·¡½º¿¡¸¸ ¿µÇâÀ» ¹ÌÄ¡±â ¶§¹®¿¡, ÀÇÁö¿¡ µû¶ó ÄѰųª ²ø ¼ö ¾ø´Ù.

Ŭ·¡½ºÀÇ ClassLoader´Â ´ÙÀ½ ³× ¸Þ¼Òµå·Î Ç¥¸íÀÇ È°¼ºÈ­¿Í ºñÈ°¼ºÈ­¸¦ Á¦¾îÇÑ´Ù.:

  • public void setDefaultAssertionStatus(boolean enabled): ÀÌ ¸Þ¼Òµå´Â Ŭ·¡½º ·Î´õ°¡ ·ÎµùÇÏ´Â ÆÐÅ°Áö¿Í Ŭ·¡½ºÀÇ ±âº» »óŸ¦ ¼³Á¤ÇÑ´Ù. ÀÌ ¼³Á¤Àº ƯÁ¤ ÆÐÅ°Áö¿Í Ŭ·¡½º ¿É¼ÇÀ» ¼³Á¤ÇÔÀ¸·Î¼­ °ãÃÄ ¾²±âµÉ ¼ö ÀÖ´Ù.

  • public void setPackageAssertionStatus(String packageName, boolean enabled): ÆÐÅ°Áö¿Í ±× ÆÐÅ°ÁöÀÇ Àüü ÇÏÀ§ ÆÐÅ°ÁöÀÇ »óŸ¦ ¿À¹ö¶óÀ̵åÇϱâ À§ÇØ ÆÐÅ°Áö¸í°ú È°¼ºÈ­ »óŸ¦ Àü´ÞÇÑ´Ù.

  • public void setClassAssertionStatus(String className, boolean enabled): ƯÁ¤ Ŭ·¡½ºÀÇ »óŸ¦ ¿À¹ö¶óÀ̵åÇϱâ À§ÇØ ¿ÏÀüÇÑ Á¶°ÇÀ» °®Ãá Ŭ·¡½º¸í°ú È°¼ºÈ­ »óŸ¦ Àü´ÞÇÑ´Ù.

  • public void clearAssertionStatus(): ÀÌ ¸Þ¼Òµå´Â ¸ðµç ÆÐÅ°Áö¿Í Ŭ·¡½º ¼³Á¤À» °ÅÁþ(false)À¸·Î ¸®¼Â½ÃŲ ÈÄ Å¬·¡½º ·Î´õµµ °ÅÁþÀ¸·Î ¸®¼Â½ÃŲ´Ù.

ÇÑ Å¬·¡½ºÀÇ Å¬·¡½º ·Î´õ¸¦ °¡Á®¿À·Á¸é Class °´Ã¼ÀÇ getClassLoader() ¸Þ¼Òµå¸¦ È£ÃâÇÑ´Ù. ºñ Á¤ÀûÀÎ ¸Þ¼Òµå¿¡ ´ëÇؼ­´Â ´ÙÀ½ ¸í·É¹®À» »ç¿ëÇÑ´Ù.:


ClassLoader loader = getClass().getClassLoader();

Á¤ÀûÀÎ ¸Þ¼Òµå¿¡ ´ëÇؼ­´Â getClass()¸¦ È£ÃâÇÒ ¼ö ¾ø´Ù. ¿©·¯ºÐÀÌ ÀνºÅϽº¸¦ °¡Áö°í ÀÖÁö ¾Ê±â ¶§¹®ÀÌ´Ù. µû¶ó¼­ ´ÙÀ½°ú °°ÀÌ ÇöÀçÀÇ Å¬·¡½º¸í ³¡¿¡ .class¸¦ Ãß°¡Çϱ⸸ ÇÏ¸é µÈ´Ù. :


ClassLoader loader = EclipseTest.class.getClassLoader();

ÀÌ°ÍÀº º¯°æ ÈÄ¿¡ ·ÎµùµÇ´Â Ŭ·¡½º¿¡¸¸ ¿µÇâÀ» ¹ÌÄ£´Ù´Â Á¡À» ±â¾ïÇϱ⠹ٶõ´Ù. ´ëºÎºÐÀÇ °æ¿ì ¿©·¯ºÐÀº ¸í·ÉÇà¿¡¼­ Ç¥¸íÀ» È°¼ºÈ­½Ãų °ÍÀÌ´Ù.

°á·Ð

ÀÌÁ¦ ¿©·¯ºÐÀº ÀÌ ±â´ÉÀ» ¾Ë°Ô µÇ¾ú´Ù. ¹Ù·Î Java 1.4 Ç¥¸í ±â´ÉÀÌ´Ù. ¾îµð¿¡ Ç¥¸íÀ» »ç¿ëÇØ¾ß ÇÏ´ÂÁö¿¡ ´ëÇÑ Á¤º¸´Â Âü°í ÀÚ·á¿¡ ³ª¿Í ÀÖ´Â °ø½Ä ¹®¼­ÀÇ Usage Notes ºÎºÐÀ» ÂüÁ¶ÇÑ´Ù. Ç¥¸íÀ» »ç¿ëÇÒ ¶§ ±â¾ïÇØ¾ß ÇÒ ÇÙ½É »çÇ×Àº À̵éÀÌ ¼±ÅÃÀûÀ¸·Î È°¼ºÈ­µÉ ¼ö ÀÖ´Ù´Â °ÍÀÌ´Ù.; µû¶ó¼­ ½ÃÁ¡ÀÇ Â÷ÀÌ¿¡ ÀÇÇÏ¿© ºÎÀÛ¿ëÀÌ ³ªÅ¸³¯ ¼ö ÀÖ´Ù.

Âü°í ÀÚ·á

ÇÊÀÚ ¼Ò°³
Photo of John ZukowskiJohn Zukowski´Â JZ Ventures, Inc.¿¡¼­ Àü·«Àû ÀÚ¹Ù ÄÁ¼³ÆÃÀ» ¼öÇàÇÏ°í ÀÖÀ¸¸ç, jGuru ±×·ìÀÌ À̲ô´Â ¼ö¸¹Àº Java FAQsÀÇ Ã¼Àç Àü¹®°¡·Î È°µ¿ÇÏ°í ÀÖ´Ù. ÃÖ±Ù Apress¿¡¼­ Java Collections°ú Definitive Guide to Swing for Java 2 (Á¦ 2ÆÇ)¸¦ ¹ß°£ÇÏ¿´´Ù.



ÀÌ ±â»ç¿¡ ´ëÇÏ¿© ¾î¶»°Ô »ý°¢ÇϽʴϱî?

Á¤¸» ÁÁ´Ù (5) ÁÁ´Ù (4) ±×Àú±×·¸´Ù (3) ¼öÁ¤º¸¿ÏÀÌ ÇÊ¿äÇÏ´Ù(2) ÇüÆí¾ø´Ù (1)

  È¸»ç¼Ò°³  |  °³ÀÎÁ¤º¸ º¸È£Á¤Ã¥  |  ¹ý·ü  |  ¹®ÀÇ