À̹ø¿¡´Â readonly Ű¿öµå¿¡ ´ëÇØ¼ ¾Ë¾Æº¸°Ú½À´Ï´Ù. readonly Ű¿öµåµµ const Ű¿öµåó·³ »ó¼ö¸¦ ¸¸µé ¶§ »ç¿ëÇÕ´Ï´Ù. readonly »ó¼ö¸¦ ¼±¾ðÇÏ´Â ¹æ¹ýÀº ´ÙÀ½°ú °°½À´Ï´Ù.
1 readonly »ó¼ö ¼±¾ðÇϱ⠿¹
n public readonly int READ;
readonly »ó¼ö´Â const »ó¼ö¿Í ´Þ¸® ¸î°¡Áö Â÷ÀÌÁ¡ÀÌ ÀÖ½À´Ï´Ù. ¿ì¼± const »ó¼ö´Â ¹¬½ÃÀûÀ¸·Î ¸ðµÎ ´Ù static »ó¼ö°¡ µÇ´Â ¹Ý¸é, readonly »ó¼ö´Â static Ű¿öµå¸¦ »ç¿ëÇϸé static »ó¼ö°¡ µÇ°í, »ç¿ëÇÏÁö ¾ÊÀ¸¸é ÀÏ¹Ý »ó¼ö°¡ µË´Ï´Ù.
|
¢Ã readonly Ű¿öµå |
|
q static Ű¿öµå¸¦ »ç¿ëÇϸé static »ó¼ö°¡ µÈ´Ù. »ç¿ëÇÏÁö ¾ÊÀ¸¸é ÀϹݻó¼ö°¡ µÈ´Ù. q const Ű¿öµå¸¦ »ç¿ëÇÏ´Â °Íó·³ ¹Ýµå½Ã ÃʱâÈ µÉ ÇÊ¿ä¾øÀ½ q °ªÀÌ ÃʱâÈ µÇ¾î ÀÖÁö ¾Ê´Ù¸é ½ºÅÂÆ½ »ý¼ºÀÚ¿¡¼ ÃʱâÈÇÒ ¼ö ÀÖ´Ù. |
±×¸®°í const »ó¼öÀÇ °ªÀÌ ¼±¾ð½Ã¿¡ ¼³Á¤µÇ¾î ÀÖ¾î¾ß ÇßÁö¸¸, readonly »ó¼ö´Â »ý¼ºÀÚ¸¦ »ç¿ëÇÑ Ãʱâȵµ °¡´ÉÇÕ´Ï´Ù. ÀÌ Àǹ̴ ·±Å¸Àӽÿ¡ ½ºÅÂÆ½»ý¼ºÀÚ¸¦ ÅëÇØ¼ °ªÀ» ÇÒ´çÇÒ ¼ö ÀÖ´Ù´Â ¶æÀÔ´Ï´Ù. Áö±Ý±îÁö ¼³¸íµå¸° ³»¿ëÀ» ½ÇÁ¦ ¿¹Á¦¸¦ ÅëÇØ¼ È®ÀÎÇØº¸°Ú½À´Ï´Ù.
|
& |
ReadonlyTest.cs |
Ü readonly »ó¼ö¸¦ Å×½ºÆ®ÇÑ ¿¹Á¦ |
|
using System; public class ReadonlyTest{ public readonly static int STATIC_READONLY=1; public readonly int NORMAL_READONLY; static ReadonlyTest(){//static »ý¼ºÀÚ STATIC_READONLY = 100; } public static void Main(){ Console.Write("STATIC_READONLY="+ReadonlyTest.STATIC_READONLY); ReadonlyTest rt1= new ReadonlyTest(); Console.Write(" NORMAL_READONLY="+rt1.NORMAL_READONLY); }//main }//class | ||
|
C:\C#Example\02>csc ReadonlyTest.cs C:\C#Example\02>ReadonlyTest STATIC_READONLY=100 NORMAL_READONLY=0 | ||
À§ÀÇ ¿¹Á¦´Â readonly »ó¼öÀÇ Æ¯¼ºÀ» Àß º¸¿©ÁÖ´Â ¿¹Á¦ÀÔ´Ï´Ù. ÀÏ¹Ý readonly »ó¼ö¿Í static readonly »ó¼ö¸¦ ¼±¾ðÇÏ¿´½À´Ï´Ù. static »ó¼ö¿¡´Â 1À̶ó´Â °ªÀ» ÇÒ´çÇÏ¿´Áö¸¸, ÀÏ¹Ý »ó¼ö¿¡´Â ¾Æ¹«·± °ªµµ ÇÒ´çÇÏÁö ¾Ê¾Ò´Ù´Â Á¡¿¡ ÁÖ¸ñÇØÁֽʽÿÀ.
Main() ¸Þ¼µå¸¦ º¸¸é ¸ÕÀú static »ó¼ö¸¦ Ãâ·ÂÇϰí ÀÖ½À´Ï´Ù. static ¸â¹öÀÇ ÃʱⰪÀ¸·Î 1À» ÁÖ¾ú´Âµ¥ Ãâ·ÂµÇ´Â °ªÀº 100ÀÔ´Ï´Ù. ±× ÀÌÀ¯´Â static »ý¼ºÀÚ¸¦ »ç¿ëÇÏ¿© °ªÀ» ´Ù½Ã ÇÒ´çÇÏ¿´±â ¶§¹®ÀÔ´Ï´Ù. const »ó¼ö¿¡¼´Â ÀÌ·¯ÇÑ Çü½ÄÀÇ ÃʱâÈ´Â ºÒ°¡´ÉÇÕ´Ï´Ù.
n public readonly static int STATIC_READONLY=1;
n ...
n static ReadonlyTest(){
n STATIC_READONLY = 100;
n }
n ...
n Console.Write("STATIC_READONLY="+ReadonlyTest.STATIC_READONLY);
´ÙÀ½Àº °´Ã¼¸¦ »ý¼ºÇϰí ÀÏ¹Ý readonly »ó¼ö¸¦ Ãâ·ÂÇϰí ÀÖ½À´Ï´Ù. const »ó¼ö¿¡¼´Â ¼±¾ð¸¸Çϰí Ãʱâȸ¦ ÇÏÁö ¾Ê´Â´Ù¸é ÄÄÆÄÀϽà ¿¡·¯°¡ ¹ß»ýÇÕ´Ï´Ù. ÇÏÁö¸¸ ÀÏ¹Ý readonly »ó¼ö´Â Ãʱâȸ¦ ÇÏÁö¾Ê°í »ç¿ëÇÏ´Â °ÍÀÌ °¡´ÉÇÕ´Ï´Ù. ¹°·Ð ÄÄÆÄÀϽà ¿¡·¯¸¦ ¹ß»ýÇÏÁö¾ÊÀ¸¸ç µðÆúÆ®·Î 0ÀÇ °ªÀÌ ÁÖ¾îÁý´Ï´Ù.
n public readonly int NORMAL_READONLY;
n ...
n Console.Write(" NORMAL_READONLY="+rt1.NORMAL_READONLY);
1 readonly »ó¼öÀÇ Æ¯Â¡
n readonly »ó¼ö´Â static Ű¿öµå¸¦ »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.
n readonly »ó¼ö´Â °ªÀ» ÇÒ´çÇÏÁö ¾Ê°í »ç¿ëÇÒ ¼öµµ ÀÖ´Ù.
n readonly »ó¼ö´Â »ý¼ºÀÚ¸¦ ÅëÇØ¼ ·±Å¸Àӽà °ªÀÌ °áÁ¤µÉ ¼ö ÀÖ´Ù.
n Çѹø °ªÀÌ °áÁ¤µÇ¸é ´Ù½Ã´Â ±× °ªÀ» º¯°æÇÒ ¼ö´Â ¾ø´Ù.
¿©·¯ºÐÀÌ readonly¸¦ »ç¿ëÇÒ ¶§ ÁÖÀÇ ÇØ¾ß ÇÏ´Â °ÍÀº ´Ü Çѹø¸¸ Ãʱâȸ¦ ÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. ±×·¡¼ ½ºÅÂÆ½ readonly¸¦ ÃʱâÈ ÇÒ ¶§ ½ºÅÂÆ½ »ý¼ºÀÚ¿¡¼ Ãʱâȸ¦ ÇØ ÁØ °ÍÀÔ´Ï´Ù. ±×¸®°í ¸¸¾à ÀÏ¹Ý readonly Áï, ½ºÅÂÆ½ÀÌ ¾Æ´Ñ readonly¶ó¸é ÀÏ¹Ý »ý¼ºÀÚ¿¡¼ ´Ü Çѹø¸¸ Ãʱâȸ¦ ÇØ ÁÙ ¼ö ÀÖ½À´Ï´Ù. Áï, »ó¼öÀÇ ±âº» ¼ºÁúÀÎ Áߺ¹Çؼ °ªÀ» ¼³Á¤ÇÒ ¼ö ¾ø´Ù´Â °ÍÀÔ´Ï´Ù.
Áö±Ý±îÁö const »ó¼ö¿Í readonly »ó¼ö¿¡ ´ëÇØ¼ ¾Ë¾Æº¸¾Ò½À´Ï´Ù. ¾Õ¿¡¼ »ìÆìº» °Íó·³ readonly »ó¼ö´Â const »ó¼ö¿¡ ºñÇØ ¹Þ´Â Á¦¾àÀÌ ¾àÇϹǷΠ±× Ȱ¿ë ¹üÀ§°¡ ´õ Å®´Ï´Ù. ±×·¸´Ù°íÇØ¼ readonly »ó¼ö°¡ »ó¼öÀÇ ¹üÁÖ¸¦ ¹þ¾î³¯ ¼ö´Â ¾ø½À´Ï´Ù. Á¦ ¾Æ¹«¸® ·±Å¸Àӽÿ¡ °ªÀÇ ÇÒ´çÀÌ ÀÌ·ç¾îÁø´Ù°í ÇØµµ »ó¼öÀÇ ¹üÁÖ¸¦ ¹þ¾î³¯ ¼ö´Â ¾ø´Â °ÍÀÔ´Ï´Ù.
| jabookÀúÀÚ¸íÇÔ |
|
Á¦¸ñ:¼Ò¼³°°ÀºC# Á¦2°ÀÇ ÀúÀÚ:ÃÖ¿µ°ü |