ÀÌÂë¿¡¼ ¿©·¯ºÐµéÀº ½ºÅÂÆ½(static)ÀÇ ¸Þ¸ð¸®´Â ¾ðÁ¦ »ý±â¸ç ¾î¶»°Ô Á¢±ÙÇÒ ¼ö ÀÖÀ»±î? ÇÏ´Â Àǹ®À» °¡Áú ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. Á¤´äÀº ½ºÅÂÆ½ÀÌ ¼±¾ð µÇ¾î ÀÖ´Ù¸é °´Ã¼¸¦ »ý¼ºÇϱâ Àü¿¡ Ŭ·¡½ºÀÇ À̸§À¸·Î ½ºÅÂÆ½¿¡ Á¢±ÙÇÏ´Â ¼ø°£ ½ºÅÂÆ½ ¸Þ¸ð¸®´Â »ý¼ºµË´Ï´Ù. ±×·³ °´Ã¼°¡ »ý¼ºµÇ±âµµ Àü¿¡ ½ºÅÂÆ½(static) ¸Þ¸ð¸®°¡ »ý¼ºµÈ´Ù¸é °´Ã¼ »ý¼º ÀÌÀü¿¡ Á¢±ÙÀ» ÇÒ ¼ö ÀÖÁö ¾ÊÀº°¡? ¶ó°í Áú¹®ÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. ÀÌ Áú¹®ÀÇ ´äÀº YesÀÔ´Ï´Ù. °´Ã¼ »ý¼º ÀÌÀü¿¡ ¸Þ¸ð¸®¿¡ Á¢±ÙÇÏ´Â ½ºÅÂÆ½ÀÇ ¹«·ÊÇÔÀ» °æÇèÇØ º¸µµ·Ï ÇÏÁÒ.
|
& |
StaticAccess.cs |
Ü static ¸â¹öÇʵ忡 ´ëÇÑ Á¢±ÙÀÇ ¿¹Á¦ |
|
using System; public class StaticAccess { public static int sint = 0; public int nint = 0; public static void Main() { StaticAccess.sint = 3333; Console.WriteLine("staticÁ÷Á¢Á¢±Ù:" + StaticAccess.sint); }//main }//class | ||
|
C:\C#Example\03>csc StaticAccess.cs C:\C#Example\03>StaticAccess staticÁ÷Á¢Á¢±Ù:3333 | ||
¡®StaticAccess.sint=3333;¡¯ ÀÌ·± Àϵµ ÀÖ½À´Ï´Ù. Ŭ·¡½ºÀÇ À̸§À¸·Î ¸â¹öÇʵ忡 Á¢±ÙÇϰí ÀÖ½À´Ï´Ù. ÇϳªÀÇ µ¥ÀÌÅÍŸÀÔÀ¸·Î °´Ã¼º¯¼ö¸¦ ¼±¾ðÇϰí new ¿¬»êÀÚ¸¦ ÀÌ¿ëÇÏ¿© ¸Þ¸ð¸®¸¦ »ý¼ºÇÑ ÈÄ »ý¼ºÀÚ¿¡¼ ÃʱâÈ ÀÛ¾÷À» ÇÏ¸é ¿ÏÀüÇÑ °´Ã¼°¡ ¿Ï¼ºµË´Ï´Ù. °´Ã¼°¡ ¿Ï¼ºµÈ ÈÄ ¸â¹ö¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Ù°í ÇßÁö¸¸ ½ºÅÂÆ½Àº ´Ù¸¨´Ï´Ù. ½ºÅÂÆ½Àº Ŭ·¡½ºÀÇ À̸§À¸·Î ¹Ù·Î Á¢±ÙÇϰí ÀÖ½À´Ï´Ù. ±× ÀÌÀ¯´Â °´Ã¼°¡ ¸Þ¸ð¸®¸¦ ÇÒ´ç ¹Þ±â Àü¿¡ ½ºÅÂÆ½ ¸â¹öÇʵå´Â ¸Þ¸ð¸®¸¦ ÇÒ´ç¹Þ°í ÃʱâÈ µÇ±â ¶§¹®ÀÔ´Ï´Ù. °ÅÀÇ ¿¹¿Ü¿Í °°Àº ±âÀÌÇÑ Çö»óÀÌÁÒ.
½ºÅÂÆ½ÀÇ Á¢±ÙÀº ±Ùº»ÀûÀ¸·Î Ŭ·¡½ºÀÇ À̸§À¸·Î¸¸ Á¢±ÙÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸¸¾à ¿©·¯ºÐÀÌ °´Ã¼¸¦ »ý¼ºÇÏ°í °´Ã¼¿¡¼ Á¡(.)À» Âï°í ½ºÅÂÆ½¿¡ Á¢±ÙÇÑ´Ù¸é ¸Å¿ì ÁïÈïÀûÀÎ ¿¡·¯¸¦ ¸¸³ª°Ô µË´Ï´Ù.
|
& |
StaticAccess2.cs |
Ü staticÀÇ Á¢±ÙÇÒ ¶§ÀÇ ¿À·ù |
|
using System; public class StaticAccess2 { public static int sint = 0; public int nint = 0; public static void Main() { StaticAccess2 sa = new StaticAccess2(); sa.sint =555;//Ʋ¸° ±¸¹® StaticAccess2.sint = 3333;// ¸Â´Â ±¸¹® }//main }//class | ||
|
C:\C#Example\03>csc StaticAccess2.cs StaticAccess2.cs(7,3): error CS0176: 'StaticAccess2.sint' Á¤Àû ¸â¹ö´Â ÀνºÅϽº ÂüÁ¶¸¦ »ç¿ëÇÏ¿© ¾×¼¼½ºÇÒ ¼ö ¾ø½À´Ï´Ù. ´ë½Å Çü½Ä À̸§À» »ç¿ëÇÏ¿© ÇÑÁ¤ÇϽʽÿÀ. | ||
½ºÅÂÆ½À» »ç¿ëÇÒ ¶§ À§ÀÇ °æ¿ì´Â ¾ÆÁÖ Á¶½ÉÇØ¾ß ÇÕ´Ï´Ù. ÄÄÆÄÀÏÁ¶Â÷ µÇÁö ¾Ê´Â °ÍÀ» º¼ ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í ¶Ç ÇѰ¡Áö ÁÖÀÇ ÇØ¾ß ÇÏ´Â »çÇ×Àº ¾Æ¹«¸® ½ºÅÂÆ½À̶ó°í ÇÏ´õ¶óµµ private°ú publicÀº ÁöÄÑ¾ß ÇÕ´Ï´Ù. ±×·¡¼ Ŭ·¡½ºÀÇ À̸§, Áï µ¥ÀÌÅÍŸÀÔÀ¸·Î Á÷Á¢Á¢±Ù ÇÒ ¼ö ÀÖ´Â °ÍÀº public static ¸â¹öÇʵåÀÔ´Ï´Ù.
|
¢Ã ½ºÅÂÆ½(static) ¸â¹öÇʵå |
|
q ¸ðµç Ŭ·¡½º¿¡¼ °øÀ¯Çϱâ À§ÇÑ ¸â¹ö¸¦ ¼±¾ðÇÏ´Â µ¥ »ç¿ë q º¯¼ö, ¸Þ¼µå, ¼Ó¼º, ¿¬»êÀÚ ¹× »ý¼ºÀÚ¿¡ »ç¿ëÇÒ ¼ö ÀÖÀ½ q Àε¦¼, ¼Ò¸êÀÚ¿¡´Â »ç¿ëÇÒ ¼ö´Â ¾øÀ½ q Ŭ·¡½º³»ÀÇ ¸ðµç °÷¿¡¼ »ç¿ëÇÒ ¼ö ÀÖ´Â °øÀ¯º¯¼ö |
| jabookÀúÀÚ¸íÇÔ |
|
Á¦¸ñ:¼Ò¼³°°ÀºC# Á¦3°ÀÇ ÀúÀÚ:ÃÖ¿µ°ü |