¼Ò¼³°°ÀºC#  Á¦2°­ÀÇ Å¬·¡½ºÀÇ ±âº»¹è°æ  19. const »ó¼ö  

 

2.19 const »ó¼ö

 

 

À̹ø Àý¿¡¼­´Â »ó¼ö¿¡ ´ëÇØ¼­ ¾Ë¾Æº¸°Ú½À´Ï´Ù. C#¿¡¼­´Â »ó¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀÌ µÎ °¡Áö°¡ ÀÖ½À´Ï´Ù. Çϳª´Â const Ű¿öµå¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀÌ°í ´Ù¸¥ Çϳª´Â readonly Ű¿öµå¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù. »ó¼ö¸¦ ¸¸µå´Â ¹æ¹ýÀÌ µÎ °¡Áö³ª µÈ´Ù´Â °ÍÀº ¼­·Î ¹º°¡ ´Ù¸¥ Á¡ÀÌ Àֱ⠶§¹®¿¡ ±×·¸Áö ¾Ê°Ú½À´Ï±î? À̹ø Àý¿¡¼­´Â const Ű¿öµå¿¡ ´ëÇØ¼­ ¾Ë¾Æ º¸µµ·Ï ÇϰڽÀ´Ï´Ù.

 

¢Ã const Ű¿öµå

q                »ó¼ö¸¦ ¼±¾ðÇϴ Ű¿öµå

q                const·Î ¼±¾ðÇÑ º¯¼ö´Â ¹Ýµå½Ã ÃʱâÈ­ ÇÏ¿©¾ß ÇÑ´Ù.

q                const´Â ÀÚµ¿À¸·Î staticÀÌ µÈ´Ù.

 

»ó¼ö¸¦ ¸¸µå´Â °¡Àå °£´ÜÇÑ ¹æ¹ýÀº const Ű¿öµå¸¦ »ç¿ëÇÏ´Â ¹æ¹ýÀÔ´Ï´Ù. const »ó¼ö¸¦ ¼±¾ðÇÏ´Â Çü½ÄÀº ´ÙÀ½°ú °°½À´Ï´Ù.

 

1 const »ó¼ö ¼±¾ðÇϱâÀÇ ¿¹

n                 public const int SALLERY = 7070;

 

À§ÀÇ Çü½ÄÀ¸·Î »ç¿ëÇÏ¸é »ó¼ö°¡ Çϳª ¼±¾ðµÇ´Â °ÍÀÔ´Ï´Ù. À̶§ const¸¦ »ç¿ëÇÑ »ó¼ö´Â ³»ºÎ¿¡¼­ ÀÚµ¿ÀûÀ¸·Î staticÀÌ ¼±¾ðµË´Ï´Ù. staticÀ¸·Î ¼±¾ðµÈ Çʵ峪 ¸Þ¼­µå´Â staticÀ̶ó°í Çϴ Ư¼öÇÑ ¿µ¿ª¿¡ ¸Þ¸ð¸®°¡ »ý°Ü¼­ Ŭ·¡½º Àüü¿¡ °øÀ¯µÇ´Â °ÍÀ¸·Î, °´Ã¼¸¦ »ý¼ºÇÏÁö ¾Ê°í ¹Ù·Î Á¢±ÙÀÌ °¡´ÉÇÕ´Ï´Ù. static¿¡ ´ëÇØ¼­´Â 3Àå¿¡¼­ ÀÚ¼¼È÷ ´Ù·ç°Ô µÉ °ÍÀÔ´Ï´Ù. µû¶ó¼­ const·Î ¼±¾ðÇÑ »ó¼ö´Â staticÀÇ ¼Ó¼ºÀ» ±×´ë·Î ¹°·Á¹Þ¾Æ °´Ã¼¸¦ »ý¼ºÇϱâ ÀÌÀü¿¡ const »ó¼ö·ÎÀÇ Á¢±ÙÀÌ °¡´ÉÇÕ´Ï´Ù. ±×¸®°í const »ó¼öµµ °°Àº ŸÀÔÀÇ »ó¼ö¸¦ Çѹø¿¡ ¿©·¯ °³ ¼±¾ðÇÒ ¼öµµ ÀÖ½À´Ï´Ù. ´ÙÀ½ÀÇ ¿¹Ã³·³ ¸»ÀÌÁö¿ä.

 

n                 public const int A = 1, B = 2, C = 3;

 

¹Ýµå½Ã ÄÄÆÄÀϽà ¹Ì¸® »ó¼öÀÇ °ªÀÌ ÃʱâÈ­µÇ¾î ÀÖ¾î¾ß ÇÕ´Ï´Ù. ¸¸ÀÏ »ó¼öÀÇ °ªÀÌ ¼±¾ð¸¸ µÇ¾îÀÖ°í ÃʱâÈ­µÇ¾î ÀÖÁö¾Ê´Ù¸é ÄÄÆÄÀϽÿ¡ °Ë»ç¸¦ ÇÒ ¼ö ¾øÀ» Å״ϱî¿ä. ½ÇÁ¦·Î const »ó¼öÀÇ °ªÀ» ¼³Á¤ÇÏÁö ¾Ê°í ÄÄÆÄÀÏÀ» ÇÑ´Ù¸é ¿¡·¯°¡ ¹ß»ýÇÏ´Â °ÍÀ» ´«À¸·Î È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¯¹Ç·Î const »ó¼ö´Â ÄÄÆÄÀÏ Àü¿¡ ±× °ªÀÌ °áÁ¤µÇ¸ç ·±Å¸Àӽÿ¡ °áÁ¤ÇÒ ¼ö´Â ¾ø´Ù´Â Á¡µµ ¸í½ÉÇϽñ⠹ٶø´Ï´Ù. ±×·³ Áö±Ý±îÁö ¾Ë¾Æº» ³»¿ëÀ» ´ÙÀ½ÀÇ ¿¹Á¦¸¦ ÅëÇØ¼­ È®ÀÎÇØº¸°Ú½À´Ï´Ù.

 

&

ConstTest.cs

Ü const »ó¼ö¸¦ Å×½ºÆ®ÇÑ ¿¹Á¦

using System;

public class ConstSample{

            public const int BOY=8, MAN=BOY+12;

}

public class ConstTest{

            public static void Main(){

                        Console.Write("BOY="+ConstSample.BOY);

                        Console.Write(" MAN="+ConstSample.MAN);

            }//main

}//class

C:\C#Example\02>csc ConstTest.cs

C:\C#Example\02>ConstTest

BOY=8 MAN=20

 

const Ű¿öµå¸¦ »ç¿ëÇÏ¿© Çѹø¿¡ 2°³ÀÇ »ó¼ö¸¦ »ý¼ºÇϰí Àִµ¥ ƯÈ÷ µÎ¹øÂ° »ó¼ö MANÀº »ó¼ö½ÄÀ» »ç¿ëÇÏ¿© °ªÀ» ¼³Á¤Çϰí ÀÖ½À´Ï´Ù. À̰ÍÀº »ó¼ö½Ä¿¡´Â »ó¼ö¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù´Â °ÍÀ» º¸¿©ÁÖ´Â ÁÁÀº ¿¹ÀÔ´Ï´Ù.

 

n                 public const int BOY=8, MAN=BOY+12;

 

ConstTest Ŭ·¡½º¿¡¼­´Â const »ó¼ö´Â staticÀ̶ó´Â °ÍÀ» Áõ¸íÇØº¸À̰í ÀÖ½À´Ï´Ù. ConstSample Ŭ·¡½ºÀÇ °´Ã¼¸¦ »ý¼ºÇÏÁö¾Ê°í const »ó¼ö¿¡ Á¢±ÙÇϰí ÀÖ½À´Ï´Ù. ÀÌ·¸°Ô Á¢±ÙÇÒ ¼ö ÀÖÀ» ¶§´Â ¸â¹ö°¡ static Ű¿öµå·Î ¼±¾ðµÇ¾úÀ» ¶§ »ÓÀÌÁö¿ä. ÇÏÁö¸¸ ÀÌ ¿¹Á¦¸¦ º¸¸é ¾îµð¿¡µµ staticÀ̶ó´Â Ű¿öµå°¡ »ç¿ëµÈ °ÍÀ» º¼ ¼ö°¡ ¾ø½À´Ï´Ù. ±× ÀÌÀ¯´Â const »ó¼ö°¡ static Ű¿öµå¸¦ »ç¿ëÇÏÁö ¾Ê¾Æµµ ÀÚµ¿ÀûÀ¸·Î staticÀÌ ¼±¾ðµÇµµ·Ï ÇØÁֱ⠶§¹®ÀÔ´Ï´Ù.

 

n                 Console.Write("BOY="+ConstSample.BOY+"\t");

n                 Console.Write("MAN="+ConstSample.MAN);

 

1 const »ó¼öÀÇ Æ¯Â¡

n                 const »ó¼ö´Â ¼±¾ðÇÏ´Â ¼ø°£ºÎÅÍ staticÀÌ µÈ´Ù.

n                 const »ó¼ö¸¦ ¼±¾ðÇÔ°ú µ¿½Ã¿¡ ÃʱâÈ­¸¦ ÇØÁÖ¾î¾ß ÇÑ´Ù.

n                 const »ó¼ö´Â ÄÄÆÄÀϽà °ªÀÌ °áÁ¤ µÇ¾îÁ® ÀÖ¾î¾ß ÇÑ´Ù.



jabookÀúÀÚ¸íÇÔ
Á¦¸ñ:¼Ò¼³°°ÀºC# Á¦2°­ÀÇ
ÀúÀÚ:ÃÖ¿µ°ü