¿°ÅÇüÀº °¡´ÉÇÑ °ªÀÇ ÁýÇÕÀ» Á¤ÀÇÇÏ´Â »ç¿ëÀÚ Á¤ÀÇÇü ŸÀÔÀÌ´Ù. º¯¼ö°¡ °¡Áú ¼ö ÀÖ´Â °ªÀÌ Æ¯Á¤ À¯ÇÑ ÁýÇÕÀ¸·Î Á¦ÇÑµÉ ¶§ »ç¿ëÇÑ´Ù. °ª¿¡ À̸§À» ÁÙ ¼ö ÀÖ¾î °¡µ¶¼º¿¡ À¯¸®ÇÏ¸ç ¾û¶×ÇÑ °ªÀ» ´ëÀÔÇÒ À§ÇèÀÌ ¾ø¾î ¾ÈÀüÇÏ´Ù. ¿°ÅÇü º¯¼ö¸¦ »ç¿ëÇϱâ Àü¿¡ ¿°Å ŸÀÔÀ» ¸ÕÀú Á¤ÀÇÇÑ´Ù. enum Å°¿öµå ´ÙÀ½¿¡ ¿°Å ŸÀÔÀÇ À̸§À» ¾²°í { } °ýÈ£ ¾È¿¡ ¿°Å ¸â¹ö¸¦ ÄÞ¸¶·Î ±¸ºÐÇÏ¿© ³ª¿ÇÑ´Ù. ´ÙÀ½Àº ¹æÇâÀ» Ç¥ÇöÇÏ´Â ¿°Å ŸÀÔ OriginÀ» Á¤ÀÇÇÑ´Ù. ŸÀÔ Á¤Àǹ®Àº ¸í·ÉÀÌ ¾Æ´Ï¾î¼ ³¡¿¡ ¼¼¹ÌÄÝ·ÐÀ» ºÙÀÌÁö ¾Ê´Â´Ù.
enum Origin { East, West, South, North }
¹æÇâÀº µ¿¼³²ºÏ ³Ý Áß ÇϳªÀÇ °ª¸¸ °¡Áú ¼ö ÀÖ¾î ¿°ÅÇüÀ¸·Î Á¤ÀÇÇÏ´Â °ÍÀÌ ÇÕ´çÇÏ´Ù. ¿°Å ¸â¹öÀÇ À̸§Àº ¸íĪ ±ÔÄ¢¿¡ ¸Â°Ô ÀÚÀ¯·Ó°Ô ºÙÀÏ ¼ö ÀÖÀ¸¸ç ĪÇÒ ¶§´Â "¿°ÅŸÀÔ.¸â¹ö" ½ÄÀ¸·Î ´ëÀÔÇÑ´Ù. ´ÙÀ½Àº Origin ŸÀÔÀÇ º¯¼ö TurnÀ» ¼±¾ðÇÏ°í ³²ÂÊÀ» °¡¸®Å²´Ù.
Origin Turn;
Turn = Origin.South;
¿°Å ¸â¹ö´Â 0ºÎÅÍ ½ÃÀ۵Ǿî 1¾¿ Áõ°¡ÇÏ´Â Á¤¼ö°ªÀ» °¡Áø´Ù. Origin ¿°ÅÇü¿¡¼ East°¡ 0ÀÌ°í West°¡ 1À̸ç South, North´Â °¢°¢ 2¿Í 3ÀÇ °ªÀ» °¡Áø´Ù. ¿°Å ¸â¹ö³¢¸® Áߺ¹µÇÁö¸¸ ¾ÊÀ¸¸é °ª ÀÚü¿¡´Â º° Àǹ̰¡ ¾øÁö¸¸ ±»ÀÌ Æ¯Á¤°ªÀ» ÁöÁ¤ÇÏ·Á¸é = °ú ¿øÇÏ´Â °ªÀ» ¾´´Ù. °ªÀÌ »ý·«µÈ ¸â¹ö´Â ÀÌÀü ¸â¹öÀÇ °ªº¸´Ù 1 ´õ Å« °ªÀ» °¡Áø´Ù.
enum Origin { East = 1, West = 5, South, North }
À§ Á¤Àǹ®¿¡¼ East¿Í West´Â ÁöÁ¤ÇÑ °ª 1, 5¸¦ °¡Áö¸ç South, North´Â 6°ú 7·Î Á¤ÀǵȴÙ. ¿°ÅÇüÀÇ ³»ºÎ ÀúÀå Çü½ÄÀº int ŸÀÔÀ̸ç ÃÖ´ë 40¾ï°³ÀÇ ¸â¹ö¸¦ Á¤ÀÇÇÒ ¼ö ÀÖ´Ù. ±×·¯³ª ³Ê¹« ÃæºÐÇØ ±â¾ïÀå¼Ò°¡ ³¶ºñµÇ´Âµ¥ ¿°Å ŸÀÔ À̸§ ´ÙÀ½¿¡ ³»ºÎ ÀúÀå ŸÀÔÀ» ÁöÁ¤ÇÏ¸é ¿ë·®À» Á¶±Ý ¾Æ³¥ ¼ö ÀÖ´Ù.
enum Origin : byte { East, West, South, North }
ÀÌ·¸°Ô ¼±¾ðÇϸé Origin ŸÀÔÀº ¿°Å ¸â¹öÀÇ °³¼ö°¡ 256°³·Î Á¦ÇѵÇÁö¸¸ 1¹ÙÀÌÆ®¿¡ ÀúÀåµÇ¾î ¸Þ¸ð¸®¸¦ Àû°Ô Â÷ÁöÇÑ´Ù. °íÀÛ 3¹ÙÀÌÆ® ¾Æ³¢ÀÚ°í ÀÌ·± ±¸µÎ¼èÁþÀ» ÇÒ ÇÊ¿ä´Â ¾øÁö¸¸ ¿°ÅÇüÀÇ ´ë¿ë·® ¹è¿ÀÌ ÇÊ¿äÇÒ ¶§´Â ÀÌ Â÷À̵µ ²Ï Ä¿Áø´Ù. °°Àº À̸§ÀÇ ¿°Å ¸â¹ö¸¦ Áߺ¹ Á¤ÀÇÇÒ ¼ö´Â ¾øÀ¸¸ç »ç½Ç ±×·² ÇÊ¿äµµ ¾ø´Ù. Origin¾È¿¡ East°¡ µÎ °³ ÀÖÀ¸¸é 0ÀÎÁö 1ÀÎÁö ¸ðÈ£ÇØÁø´Ù. ±×·¯³ª ´Ù¸¥ À̸§À¸·Î °°Àº °ªÀ» °¡Áö´Â ¿°Å ¸â¹ö´Â °¡´ÉÇÏ´Ù. ¿°Å ¸â¹öÀÇ °ªÀ» °áÁ¤Çϴµ¥ ¹®Á¦°¡ ¾øÀ¸¸ç ÀÏÁ¾ÀÇ µ¿ÀǾ Á¤ÀÇÇÏ´Â °ÍÀÌ´Ù.
enum Origin { East, East, West, South, North } // ¿¡·¯
enum Origin { East = 1, West = 1, South, North } // °¡´É
enum Origin { East, West, South, North, Dong = East } // °¡´É
ù ¹ø° ¼±¾ðÀº Origin.EastÀÇ °ªÀÌ ¸ðÈ£ÇØ ¿¡·¯ÀÌ´Ù. µÎ ¹ø° ¼±¾ðÀº East¿Í West°¡ µÑ ´Ù 1ÀÇ °ªÀ» °¡Áö´Âµ¥ ¾î¶² ÀÌÀ¯·Î µ¿ÂÊ°ú ¼ÂÊÀÌ °°Àº Àǹ̸¦ °¡Áú ¼ö ÀÖ¾î ¹®¹ýÀûÀ¸·Î´Â Ÿ´çÇÏ´Ù. ¼¼ ¹ø° ¼±¾ðÀº East¿Í °°Àº °ªÀ» °¡Áö´Â µ¿ÀǾî DongÀ» Á¤ÀÇÇÑ´Ù. ÀÌ ¿°ÅÇü¿¡¼ µ¿ÂÊÀº Origin.East·Î Ç¥ÇöÇÒ ¼öµµ ÀÖ°í Origin.DongÀ¸·Î Ç¥ÇöÇÒ ¼öµµ ÀÖ´Ù.
¿°ÅÇüÀº ³»ºÎÀûÀ¸·Î Á¤¼öÇüÀ̸ç Á¤¼öÇü º¯¼ö¿Í ȣȯµÈ´Ù. Æ÷¸ËÀº °°Áö¸¸ ŸÀÔÀÌ ´Þ¶ó Á÷Á¢ ´ëÀÔÇÒ ¼ö´Â ¾ø°í ij½ºÆÃÇØ¾ß ÇÑ´Ù. ´ÙÀ½ ¿¹Á¦´Â Á¤¼öÇü°ú ¿°ÅÇüÀÇ °ª ´ëÀÔ°ú Ãâ·ÂÀ» Å×½ºÆ®ÇÑ´Ù.
EnumInt |
½ÇÇà°á°ú |
using System;
enum Origin { East, West, South, North }
class CSTest { static void Main() { Origin Turn; Turn = Origin.South; Console.WriteLine(Turn); int Value = (int)Turn; Console.WriteLine(Value); } } |
South 2 |
Origin ŸÀÔÀÇ º¯¼ö TurnÀ» ¼±¾ðÇÏ°í Origin.South¸¦ ´ëÀÔÇÏ¿© Ãâ·ÂÇÏ¸é ¿°Å ¸â¹öÀÇ À̸§À¸·Î Ç¥½ÃµÈ´Ù. TurnÀ» (int)·Î ij½ºÆÃÇÏ¿© Á¤¼öÇü º¯¼ö Value¿¡ ´ëÀÔÇÑ ÈÄ Ãâ·ÂÇÏ¸é ¿°Å ¸â¹öÀÇ ½ÇÁ¦°ªÀÎ 2·Î Ç¥½ÃµÈ´Ù. Àǹ̴ °°Áö¸¸ ŸÀÔ¿¡ µû¶ó Ç¥Çö ¹æ½ÄÀÌ ´Ù¸£´Ù.
TrunÀÇ °ª ¹üÀ§´Â °íÀÛ 0~3ÀÌ¾î¼ Value¿¡ ´ëÀÔÇصµ °ª ¼Õ½ÇÀÌ ÀüÇô ¾ø´Ù. ±×·¯³ª ¹Ý´ë ¹æÇâÀ¸·ÎÀÇ ´ëÀÔÀº À§ÇèÇÏ´Ù. ´ÙÀ½ ´ëÀÔ¹®ÀÌ À¯È¿ÇÏ·Á¸é Value°¡ 0~3ÀÇ °ª Áß Çϳª¿©¾ß Çϴµ¥ ¹üÀ§¸¦ ¹þ¾î³ °ªÀ̸é TurnÀÇ »óÅ°¡ ¹«È¿ÇØÁø´Ù. ±×·¡¼ ¾Ï½ÃÀû º¯È¯À» ±ÝÁöÇÏ°í °Á¦ ij½ºÆÃÇϵµ·Ï µÇ¾î ÀÖ´Ù.
Turn = (Origin)Value;
¿°Å ¸â¹ö´Â ¿°Å ŸÀÔ ¼Ò¼ÓÀÌ¾î¼ ÄªÇÒ ¶§¸¶´Ù Origin.South, Origin.East ½ÄÀ¸·Î ÀÏÀÏÀÌ ¼Ò¼ÓÀ» ¹àÇô¾ß ÇÑ´Ù. Àǹ̵µ ¸íÈ®ÇÏ°í ¸íĪ Ãæµ¹ À§Çèµµ ¾øÁö¸¸ ÀÏÀÏÀÌ ¼Ò¼ÓÀ» ¹àÈ÷±â´Â ±ÍÂúÀº ¸éÀÌ ÀÖ´Ù. ÀÌ·² ¶§´Â ¼±µÎ¿¡ ´ÙÀ½ ¼±¾ðÀ» Ãß°¡ÇÏ¿© Origin ŸÀÔÀÇ ¸â¹ö¸¦ ¹Ì¸® ÀÐ¾î ³õµµ·Ï ÇÑ´Ù.
using static Origin;
ÀÌÈĺÎÅÍ Turn = South ½ÄÀ¸·Î ¼Ò¼ÓÀº »ý·«ÇÏ°í ¿°Å ¸â¹öÀÇ À̸§¸¸À¸·Î ÂüÁ¶ÇÒ ¼ö ÀÖ¾î Æí¸®ÇÏ´Ù. C ¾ð¾îÀÇ ¿°ÅÇü°ú À¯»çÇØÁø´Ù. ±×·¯³ª ¼Ò¼ÓÀÌ ¾øÀ¸¸é ¿ÜºÎ¿ÍÀÇ ¸íĪ Ãæµ¹ÀÌ ÀÚÁÖ ¹ß»ýÇÑ´Ù. ¿øÄ¢´ë·Î ¼Ò¼ÓÀ» ¹àÈ÷°í ¾²´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÏ´Ù.
¿°ÅÇüÀº System.Enum ±¸Á¶Ã¼ÀÌ¸ç ¿°ÅÇüÀ» °ü¸®ÇÏ´Â ¸Þ¼µå°¡ Æ÷ÇԵǾî ÀÖ´Ù. ToInt32, ToDouble µî To·Î ½ÃÀÛÇÏ´Â ¸Þ¼µå´Â ¿°ÅÇüÀ» ´Ù¸¥ ŸÀÔÀ¸·Î º¯È¯Çϴµ¥ ÀÌ Áß ¹®ÀÚ¿·Î º¯È¯ÇÏ´Â ToStringÀÌ ½Ç¿ëÀûÀÌ´Ù. Parse ¸Þ¼µå´Â ¹Ý´ë·Î ´Ù¸¥ ŸÀÔÀÇ °ªÀ» ¿°ÅÇüÀ¸·Î º¯È¯ÇÑ´Ù. IsDefined´Â ¿°ÅÇü³»¿¡ ƯÁ¤ ¿°Å ¸â¹ö°¡ Á¸ÀçÇÏ´ÂÁö Á¶»çÇÑ´Ù.
EnumString |
½ÇÇà°á°ú |
using System;
enum Origin { East, West, South, North }
class CSTest { static void Main() { Origin Turn; Turn = Origin.South; string name = Turn.ToString(); Console.WriteLine(name); Turn = (Origin)Enum.Parse(typeof(Origin), "East"); Console.WriteLine(Turn); } } |
South East
|
¹®ÀÚ¿ "East"¸¦ Çؼ®ÇÏ¿© Origin ŸÀÔÀ¸·Î ¹Ù²Ù¾î Turn¿¡ ´ëÀÔÇß´Ù. ÀÌ ¹æ¹ýÀ» »ç¿ëÇÏ¸é ½ÇÇàÁß¿¡ »ç¿ëÀڷκÎÅÍ ¿°ÅÇü°ªÀ» Á÷Á¢ ÀԷ¹ÞÀ» ¼öµµ ÀÖ´Ù. C#Àº ŸÀÔ Á¤º¸¸¦ Á¶»çÇÏ´Â ±â´ÉÀÌ ÀÖ¾î ¹®ÀÚ¿·ÎºÎÅÍ ¿°ÅÇüÀÇ °ªÀ» ¾Ë¾Æ³¾ ¼ö ÀÖÀ¸¸ç ±×·¡¼ ÀÌ·± µ¿ÀÛÀÌ °¡´ÉÇÏ´Ù.