C#ÀÇ ¸ðµç ¾ÖÇø®ÄÉÀÌ¼Ç ÇÁ·Î±×·¥¿¡¼ Main() ¸Þ¼µå´Â Á¸ÀçÇÕ´Ï´Ù. ¾Õ Àý¿¡¼µµ Àá±ñ ¾ð±ÞÇßÁö¸¸, C#¿¡¼ ½ÇÇàÆÄÀÏÀÌ¸é¼ Main() ¸Þ¼µå°¡ ¾ø´Ù¸é ÇÁ·Î±×·¥Àº ÄÄÆÄÀÏ µÇÁö ¾Ê°í ÇÁ·Î±×·¥ ÁøÀÔÁ¡ÀÌ ¾ø´Ù´Â ¿¡·¯¸¦ ¹ß»ýÇÕ´Ï´Ù.
|
¢Ã µðÆúÆ® ÄÄÆÄÀÏ(Default Compile) |
|
q C#¿¡¼ ¾Æ¹«·± ¿É¼Ç ¾øÀÌ ÄÄÆÄÀÏÀ» ÇÑ´Ù¸é ÇÁ·Î±×·¥ÀÇ ÁøÀÔÁ¡ÀÌ ÀÖ´Â ÇÁ·Î±×·¥À¸·Î °£ÁÖÇϱ⠶§¹®¿¡ ¹Ýµå½Ã ÄÚµå ³»¿¡ Main() ¸Þ¼µå¸¦ Æ÷ÇÔ ÇØ¾ß ÇÕ´Ï´Ù. ±×·¸Áö ¾ÊÀ¸¸é ¿¡·¯¸¦ ¹ß»ýÇÕ´Ï´Ù. q ÁøÀÔÁ¡ÀÌ ¾ø´Â ¶óÀ̺귯¸® ÇüÅÂÀÇ ÇÁ·Î±×·¥À» ¸¸µé°íÀÚ ÇÑ´Ù¸é ÄÄÆÄÀÏ ¿É¼Ç¿¡¼ /reference ¸¦ »ç¿ëÇÏ¿© ¶óÀ̺귯¸® ÇüŶó´Â °ÍÀ» ¸í½ÃÇØ¾ß ÇÕ´Ï´Ù. |
¸¸¾à ¿©·¯ºÐÀÌ Main() ¸Þ¼µå°¡ ¾ø´Â ¶óÀ̺귯¸® ÇüÅÂÀÇ ¾î¼Àºí¸®¸¦ ¸¸µç´Ù¸é ¹Ýµå½Ã ÄÄÆÄÀÏ ¿É¼ÇÀÎ /reference·Î ¸í½ÃÇØ¾ß ÇÕ´Ï´Ù. C#¿¡¼ÀÇ Main()¸Þ¼µå´Â ´ÙÀ½°ú °°Àº Çü½ÄÀ¸·Î ÀÌ·ç¾îÁ® ÀÖ½À´Ï´Ù.
|
C#¿¡¼ Main() ¸Þ¼µåÀÇ Çü½Ä |
|
1. public static void Main() { ¡¦ ¡¦ } 2. public static void Main(string[] args) { ¡¦ ¡¦} 3. public static int Main() { return 0; //0À̸é Main()¸Þ¼µåÀÇ Á¤»óÁ¾·á, 0 ÀÌ¿Ü ¼ö´Â ºñÁ¤»óÁ¾·á¸¦ ÀÇ¹Ì } 4. public static int Main(string[] args) { return 0; } |
À§¿Í °°ÀÌ C#¿¡¼ Main()¸Þ¼µå´Â ³× °¡Áö Á¾·ù°¡ ÀÖ½À´Ï´Ù. ÀÌ ³× °¡Áö Áß¿¡¼ ÀϹÝÀûÀ¸·Î °¡Àå À§¿¡ Àִ ù¹øÂ° Çü½ÄÀ» ¸¹ÀÌ »ç¿ëÇÏ°í µÎ¹øÂ° Çü½ÄÀº ½ÃÀÛÇÒ ¶§ ÇÁ·ÒÇÁÆ®»ó¿¡¼ ¸Å°³º¯¼öÀÇ ÀÔ·ÂÀ» ÇÊ¿ä·Î ÇÒ ¶§, ¼¼¹øÂ°¿Í ³×¹øÂ°Ã³·³ ¸Þ¼µåÀÇ ÇüÀÌ intÇüÀÎ °æ¿ì´Â µð¹ö±ëµîÀÇ ¾ÆÁÖ Æ¯¼öÇÑ °æ¿ì¿¡ »ç¿ëÇÏ°Ô µË´Ï´Ù. À̶§ 0À» ¹ÝȯÇϸé Á¤»óÁ¾·á¸¦ ÀǹÌÇϰí, 0ÀÌ¿ÜÀÇ ¼ö¸¦ ¹ÝȯÇÏ¸é ºñÁ¤»óÁ¾·á¸¦ ÀǹÌÇÕ´Ï´Ù.
C#ÀÇ Main() ¸Þ¼µå´Â ¾Æ¹«°Íµµ ¹Ù²Ü ¼ö ¾ø´Â ¿ÏÀüÈ÷ Çü½ÄÈµÈ ¸Þ¼µåÀÔ´Ï´Ù. ´ë¼Ò¹®ÀÚµµ Ʋ¸®¸é ¾ÈµÇ°ÚÁÒ. ±×·¸´Ù¸é ÀÌ Main() ¸Þ¼µå°¡ ¾îµð¿¡ ÀÖ¾î¾ß ÇÏ´À³Ä°¡ °ü°ÇÀÔ´Ï´Ù. ±×·±µ¥ C#¿¡´Â µüÈ÷ Main() ¸Þ¼µå¸¦ ³Ö¾î µÑ¸¸ÇÑ °÷ÀÌ ¾ø½À´Ï´Ù. ±×·¡¼ Main() ¸Þ¼µå¸¦ Ŭ·¡½º ³»¿¡ À§Ä¡½Ã۰í, Main() ¸Þ¼µå¸¦ Æ÷ÇÔÇϰí Àִ Ŭ·¡½º°¡ ½ÇÇà Ŭ·¡½º°¡ µË´Ï´Ù.
|
¢Ã Main() ¸Þ¼µåÀÇ Æ¯Â¡ |
|
q ÇÁ·Î±×·¥ÀÇ ½ÃÀÛÁ¡ÀÌ´Ù. q Main() ¸Þ¼µå°¡ ³¡³ª¸é ÇÁ·Î±×·¥Àº Á¾·áµÈ´Ù. q ¹Ýµå½Ã staticÀ¸·Î ¼±¾ðÇØ¾ß ÇÑ´Ù. q ¹ÝȯÇüÀº void³ª int, µÑÁßÀÇ ÇϳªÀ̾î¾ß ÇÑ´Ù. q Main() ¸Þ¼µå¿¡¼ °³Ã¼¸¦ »ý¼ºÇϰųª ´Ù¸¥ ¸Þ¼µå¸¦ È£ÃâÇÒ ¼ö ÀÖ´Ù. q ¸í·É ÇÁ·ÒÇÁÆ® »óÀÇ ¸Å°³º¯¼ö¸¦ Àбâ À§Çؼ ¸Å°³º¯¼ö·Î string ¹è¿À» »ç¿ëÇÑ´Ù. |
º¸ÅëÀÇ ÇÁ·Î±×·¥Àº Main() ¸Þ¼µåÀÇ ½ÇÇàÀÌ ³¡³ª¸é ÇÁ·Î±×·¥ÀÌ Á¾·áµË´Ï´Ù. C#¿¡¼µµ Main() ¸Þ¼µå°¡ Á¾·áÇϸé ÇÁ·Î±×·¥ÀÌ Á¾·áÇÏ°Ô µË´Ï´Ù. ´ÙÀ½ÀÇ ±×¸²°ú ¿¹Á¦¸¦ »ìÆì º¸½ÃÁÒ.

±×¸² 3-1 Main¸Þ¼µåÀÇ ½ÇÇà¼ø¼
|
& |
MainTest.cs |
Ü C#ÀÇ Main()¸Þ¼µå Å×½ºÆ®¸¦ À§ÇÑ ¿¹Á¦ |
|
using System; public class MainTest { public void SayHello(){ Console.WriteLine("Hello World!"); } public static void Main() { MainTest m = new MainTest(); m.SayHello(); } } | ||
|
C:\C#Example\03>csc MainTest.cs C:\C#Example\03>MainTest Hello World! | ||
»õ·Î ¸¸µç µ¥ÀÌÅÍŸÀÔ MainTest Ŭ·¡½º´Â 2°³ÀÇ public ¸â¹ö¸Þ¼µå¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. ±×·±µ¥ Main() ¸Þ¼µå´Â MainTest Ŭ·¡½º ³»ºÎ¿¡¼ MainTest °´Ã¼¸¦ »ý¼ºÇÏ¿© SayHello() ¸â¹ö¸Þ¼µå¸¦ È£ÃâÇϰí ÀÖ½À´Ï´Ù.
À§ÀÇ ¿¹Á¦¿¡¼ Main() ¸Þ¼µå ÀÚü°¡ ¾Æ¿¹ Ŭ·¡½º ¿ÜºÎ¿¡ µ¶¸³ÀûÀ¸·Î Á¸ÀçÇÑ´Ù°í »ý°¢ÇÑ´Ù¸é ÀÌ ¿¹Á¦¸¦ ½±°Ô ÀÌÇØ ÇÒ ¼ö ÀÖÀ» °ÍÀÔ´Ï´Ù. MainTest Ŭ·¡½º ÀÚü°¡ ½ÇÇàŬ·¡½ºÀ̱⠶§¹®¿¡ ¡®MainTest¡¯¶ó´Â Çü½ÄÀ¸·Î ½ÇÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. MainTest Ŭ·¡½º¸¦ ½ÇÇàÇÒ ¶§ ´ç¿¬È÷ Main() ¸Þ¼µå¸¦ ãÀ¸¸ç, Main() ¸Þ¼µåÀÇ ÀÛ¾÷À» ³¡³»¸é ¸ðµç ÀÛ¾÷À» ¿Ï·áÇÏ°Ô µÇ´Â °ÍÀÔ´Ï´Ù. À̰ÍÀº static Ű¿öµå ¶§¹®¿¡ ÀϾ´Â Çö»óÀÔ´Ï´Ù.
±×¸®°í Main() ¸Þ¼µå ³»ÀÇ MainTest Ŭ·¡½ºÀÇ °´Ã¼´Â ÇϳªÀÇ ¸â¹ö¸Þ¼µå¸¦ °¡Áø Ŭ·¡½ºÀÇ ¿ªÇÒÀ» ¼öÇàÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¡¼ MainTest m¿¡¼ È£ÃâÇÒ ¼ö ÀÖ´Â ¸Þ¼µå´Â SayHello() ¸Þ¼µå°¡ µÇ´Â °ÍÀÔ´Ï´Ù.
n MainTest m = new MainTest();
n m.SayHello();
Main() ¸Þ¼µå ¾Õ¿¡ ºÙ¾î ÀÖ´Â static Ű¿öµå´Â ´ÙÀ½ Àý¿¡¼ ¾Ë¾Æ º¸µµ·Ï ÇϰڽÀ´Ï´Ù. static Ű¿öµå¸¦ Á¦´ë·Î ¾Æ½Å´Ù¸é Main ¸Þ¼µå°¡ ¿Ö Ŭ·¡½º ¿ÜºÎ¿¡ Á¸ÀçÇÑ´Ù°í Çß´ÂÁö ÀÌÇØÇϽø®¶ó ¹Ï½À´Ï´Ù.
| jabookÀúÀÚ¸íÇÔ |
|
Á¦¸ñ:¼Ò¼³°°ÀºC# Á¦3°ÀÇ ÀúÀÚ:ÃÖ¿µ°ü |