Ŭ·¡½º¿Í °´Ã¼´Â ´Ù¸£´Ù. Ŭ·¡½º´Â °´Ã¼¸¦ ¸¸µé±â À§ÇÑ ÇüƲÀÌ¸ç °´Ã¼´Â Ŭ·¡½º°¡ ¸Þ¸ð¸®¿¡ ±¸ÇöµÇ¾î »ý¼ºµÈ ½ÇüÀÌ´Ù. ¸Þ¸ð¸®¿¡ ±¸ÇöµÈ Ŭ·¡½ºÀÇ ½Çü¸¦ ÀνºÅϽº¶ó°í Çϸç ÇϳªÀÇ Å¬·¡½º·ÎºÎÅÍ ¾ó¸¶µçÁö ¸¹Àº ÀνºÅϽº¸¦ »ý¼ºÇÒ ¼ö ÀÖ´Ù. °´Ã¼¿Í ÀνºÅϽº´Â ¾à°£ÀÇ ÀÇ¹Ì Â÷ÀÌ ¿Ü¿¡´Â °°Àº ¶æÀÌ´Ù. Çʵå´Â °¢ °´Ã¼º°·Î ÇÒ´çµÇ¾î °íÀ¯ÇÑ ¼Ó¼ºÀ» ÀúÀåÇÑ´Ù. ¹Ý¸é µ¿ÀÛÀ» Á¤ÀÇÇÏ´Â ¸Þ¼µå´Â ¸ðµç °´Ã¼°¡ °øÀ¯ÇÑ´Ù. Human ŸÀÔÀÇ Kim, Lee °´Ã¼¸¦ »ý¼ºÇßÀ» ¶§ ¸Þ¸ð¸® ¸ð¾çÀº ´ÙÀ½°ú °°´Ù.
±è°¡¿Í ÀÌ°¡´Â À̸§ÀÌ ´Ù¸£°í ³ªÀ̵µ ´Þ¶ó Name, Age Çʵ带 °¢°¢ µû·Î °¡Áø´Ù. Çʵå´Â ƯÁ¤ °´Ã¼¿¡ ¼Ò¼ÓµÇ¸ç °¢°¢ ´Ù¸¥ ¸Þ¸ð¸® À§Ä¡¿¡ »ý¼ºµÇ¾î ¼·Î µ¶¸³ÀûÀÌ´Ù. ¿¹¸¦ µé¾î ±è°¡ÀÇ ³ªÀ̸¦ 40À¸·Î ¼öÁ¤ÇÑ´Ù°í Çؼ ÀÌ°¡ÀÇ ³ªÀÌ°¡ ¹Ù²îÁö´Â ¾Ê´Â´Ù. ÇÏÁö¸¸ °°Àº Ŭ·¡½º·ÎºÎÅÍ »ý¼ºµÈ °´Ã¼ÀÇ µ¿ÀÛÀº °°¾Æ ¸Þ¼µå¸¦ µû·Î °¡Áú ÇÊ¿ä´Â ¾ø´Ù. ±è°¡³ª ÀÌ°¡³ª ÀÚ½ÅÀ» ¼Ò°³ÇÏ´Â ¹æ½ÄÀº °°À¸¸ç ¸Þ¼µå¸¦ °øÀ¯ÇÑ´Ù. ´Ü, ¸Þ¼µå¸¦ È£ÃâÇÒ ¶§ Àü´ÞµÇ´Â È£Ãâ °´Ã¼ÀÇ ÂüÁ¶ÀÚ this·ÎºÎÅÍ ÀÐÀ» Çʵ带 ±¸ºÐÇÑ´Ù. Kim.Intro() ¿Í Lee.Intro()°¡ È£ÃâÇÏ´Â ¸Þ¼µå´Â °°Áö¸¸ ÂüÁ¶ÇÏ´Â Çʵ尡 ´Þ¶ó Ãâ·Â °á°úµµ ´Ù¸£´Ù.
¿ä¾àÇÏÀÚ¸é °´Ã¼³¢¸® Çʵå´Â °¢ÀÚ °¡Áö°í ¸Þ¼µå´Â °øÀ¯ÇÑ´Ù. °´Ã¼º°·Î ÇÒ´çµÇ´Â Çʵå, this¿¡ ÀÇÇØ È£Ãâ °´Ã¼¸¦ ±¸ºÐÇÏ´Â ¸Þ¼µå¸¦ ÀνºÅϽº ¸â¹ö ¶Ç´Â ºñÁ¤Àû ¸â¹ö¶ó°í ÇÑ´Ù. ¹Ý´ë °³³äÀº Á¤Àû ¸â¹öÀÌ¸ç ¸â¹ö ¼±¾ð¹®¾Õ¿¡ Å°¿öµå staticÀ» ºÙ¿© ÁöÁ¤ÇÑ´Ù. Á¤Àû Çʵå´Â °´Ã¼°¡ ¾Æ´Ñ Ŭ·¡½º¿¡ ¼Ò¼ÓµÈ´Ù. °´Ã¼°¡ ¾Æ¹«¸® ¸¹¾Æµµ Á¤Àû Çʵå´Â ´Ü Çϳª¸¸ »ý¼ºµÇ¸ç °´Ã¼°¡ ÀüÇô ¾ø¾îµµ Çϳª´Â »ý¼ºµÈ´Ù. µü Çϳª¸¸ »ý¼ºµÇ¾î ¸ðµç °´Ã¼°¡ °øÀ¯ÇÑ´Ù. ¾î¶² °´Ã¼¿¡¼ Á¤Àû ÇʵåÀÇ °ªÀ» º¯°æÇÏ¸é °°Àº Ŭ·¡½º ¼Ò¼ÓÀÇ ¸ðµç °´Ã¼°¡ ¿µÇâÀ» ¹Þ´Â´Ù. Àü¿ªÀûÀÎ ¼³Á¤ Á¤º¸³ª Àб⸸ ÇÏ´Â Âü°í Á¤º¸°¡ Á¤Àû Çʵå·Î ¼±¾ðµÈ´Ù.
Á¤Àû ¸Þ¼µåµµ Ŭ·¡½º¿¡ ¼Ò¼ÓµÇ¸ç °³º° °´Ã¼¿¡ ´ëÇÑ µ¿ÀÛÀÌ ¾Æ´Ñ Ŭ·¡½º Â÷¿øÀÇ µ¿ÀÛÀ» ó¸®ÇÑ´Ù. ƯÁ¤ °´Ã¼¿¡ ´ëÇÑ Ã³¸®¸¦ ÇÏ´Â °ÍÀÌ ¾Æ´Ï¾î¼ È£Ãâ °´Ã¼ this¸¦ Àü´Þ¹ÞÁö ¾ÊÀ¸¸ç °´Ã¼°¡ ¾ø¾îµµ È£ÃâÇÒ ¼ö ÀÖ´Ù. Á¤Àû ¸Þ¼µå´Â this°¡ ¾ø¾î ÀνºÅϽº Çʵå´Â ÂüÁ¶ÇÒ ¼ö ¾øÀ¸¸ç Á¤Àû Çʵ常 ¾×¼¼½ºÇÒ ¼ö ÀÖ´Ù.
»ý¼ºÀÚ¿¡µµ static ÁöÁ¤ÀÚ¸¦ ºÙÀÏ ¼ö ÀÖ´Ù. Á¤Àû »ý¼ºÀÚ´Â Á¤Àû Çʵ带 ÃʱâÈÇϸç ÀνºÅϽº Çʵå´Â ÃʱâÈÇÒ ¼ö ¾ø´Ù. Ŭ·¡½º°¡ ·ÎµåµÉ ¶§ ÀÚµ¿À¸·Î È£ÃâµÇ¹Ç·Î Àμö¸¦ °¡Áú ¼ö ¾øÀ¸¸ç ¾×¼¼½º ÁöÁ¤ÀÚµµ ºÙÀÌÁö ¾Ê´Â´Ù. µðÆúÆ® »ý¼ºÀÚ¿Í ¸ð¾çÀÌ °°¾Æ ¿À¹ö·Îµù Á¶°ÇÀÌ ¼º¸³ÇÏÁö ¾ÊÁö¸¸ static ÁöÁ¤ÀÚ¿¡ ÀÇÇØ ±¸ºÐµÇ¸ç È£Ãâ ½ÃÁ¡ÀÌ ´Þ¶ó ¾Ö¸ÅÇÏÁö ¾Ê´Ù.
Human() // µðÆúÆ® »ý¼ºÀÚ
static Human() // Á¤Àû »ý¼ºÀÚ
Á¤Àû »ý¼ºÀÚ´Â µü ÇÑ ¹ø¸¸ È£ÃâµÇ´Âµ¥ ºñÇØ ÀνºÅϽº »ý¼ºÀÚ´Â °´Ã¼°¡ »ý¼ºµÉ ¶§¸¶´Ù È£ÃâµÈ´Ù. Á¤Àû »ý¼ºÀÚ¸¦ °¡Áö´Â Ŭ·¡½º°¡ ¿©·¯ °³ ÀÖÀ» ¶§ È£Ãâ ¼ø¼´Â ¾Ë ¼ö ¾øÀ¸¸ç ¼ø¼¸¦ ÁöÁ¤ÇÏ´Â ¹æ¹ýµµ ¾ø´Ù. ÇÁ·¹ÀÓ¿öÅ©°¡ ¾Ë¾Æ¼ ¼ø¼´ë·Î È£ÃâÇÒ »ÓÀÌ¾î¼ ÃʱâÈ ¼ø¼¿¡ ÀÇÁ¸ÀûÀÎ ÄÚµå´Â ÀÛ¼ºÇÏÁö ¸»¾Æ¾ß ÇÑ´Ù.
Time Ŭ·¡½º¿¡ ½Ã°£ Ç¥½Ã ¹æ¹ýÀ» ÁöÁ¤ÇÏ´Â Çʵ带 Ãß°¡ÇØ º¸ÀÚ. ½Ã°£Àº 24½Ã°£Á¦·Î Ç¥½ÃÇÒ ¼öµµ ÀÖ°í ¿ÀÀü/¿ÀÈÄ·Î ³ª´©¾î Ç¥½ÃÇÒ ¼öµµ ÀÖ´Ù. ¿¹¸¦ µé¾î 12½Ã°£Á¦ÀÇ ¿ÀÈÄ 6½Ã´Â 24½Ã°£Á¦·Î 18½ÃÀÌ´Ù. ½Ã°£ Ç¥½Ã ¹æ¹ýÀº Àü¿ªÀûÀÎ ¿É¼ÇÀ̹ǷΠ°³º° Time °´Ã¼¸¶´Ù Àû¿ëÇÏ´Â °Íº¸´Ù Àüü °´Ã¼¿¡ ÀÏ°üµÇ°Ô Àû¿ëÇÏ´Â °ÍÀÌ ÁÁ´Ù. ÀÌ·² ¶§ Á¤Àû ¸â¹ö¸¦ »ç¿ëÇÑ´Ù.
AmPm |
|
using System;
class Time { private int hour, min, sec; public Time(int h, int m, int s) { hour = h; min = m; sec = s; } private static bool UseAmPm; // Á¤Àû Çʵå static Time() { UseAmPm = false; } // Á¤Àû »ý¼ºÀÚ public static void SetAmPm(bool bAmPm) { UseAmPm = bAmPm; } // Á¤Àû ¸Þ¼µå public void OutTime() { int h; string AmPm; if (UseAmPm == true) { if (hour < 12) { AmPm = "¿ÀÀü"; h = hour; } else { AmPm = "¿ÀÈÄ"; h = hour - 12; } Console.WriteLine($"ÇöÀç ½Ã°£Àº {AmPm} {h}½Ã {min}ºÐ {sec}ÃÊÀÌ´Ù."); } else { Console.WriteLine($"ÇöÀç ½Ã°£Àº {hour}½Ã {min}ºÐ {sec}ÃÊÀÌ´Ù."); } } }
class CSTest { static void Main() { Time Now = new Time(18, 25, 55); Time Then = new Time(20, 30, 10); Now.OutTime(); Then.OutTime(); Time.SetAmPm(true); Now.OutTime(); Then.OutTime(); } } |
|
½ÇÇà°á°ú |
ÇöÀç ½Ã°£Àº 18½Ã 25ºÐ 55ÃÊÀÌ´Ù. ÇöÀç ½Ã°£Àº 20½Ã 30ºÐ 10ÃÊÀÌ´Ù. ÇöÀç ½Ã°£Àº ¿ÀÈÄ 6½Ã 25ºÐ 55ÃÊÀÌ´Ù. ÇöÀç ½Ã°£Àº ¿ÀÈÄ 8½Ã 30ºÐ 10ÃÊÀÌ´Ù. |
bool ŸÀÔÀÇ UseAmPm Çʵ尡 trueÀÌ¸é ¿ÀÀü/¿ÀÈÄ ÇüÅÂÀÇ 12½Ã°£Á¦¸¦ ¾²°í falseÀ̸é 24½Ã°£Á¦¸¦ ¾´´Ù. Time °´Ã¼¿¡ ÀÏ°üµÇ°Ô Àû¿ëÇϱâ À§ÇØ Á¤ÀûÀ¸·Î ¼±¾ðÇÏ¿© ¸ðµç °´Ã¼°¡ °øÀ¯ÇÑ´Ù. Á¤Àû »ý¼ºÀÚ¿¡¼ UseAmPmÀ» false·Î ÃʱâÈÇϴµ¥ Çʵå Ãʱâ½ÄÀ¸·Î ÁöÁ¤ÇÒ ¼öµµ ÀÖ´Ù.
public static bool UseAmPm = false;
°ª ŸÀÔÀº Çʵå Ãʱâ½ÄÀÌ ´õ Æí¸®ÇØ Á¤Àû »ý¼ºÀÚ°¡ ÇÊ¿äÄ¡ ¾Ê´Ù. ÇÏÁö¸¸ ÂüÁ¶ ŸÀÔÀÇ Á¤Àû Çʵå´Â Ãʱâ½Ä¸¸À¸·Î´Â »ý¼ºµÇÁö ¾ÊÀ¸¸ç new ¿¬»êÀÚ¸¦ È£ÃâÇØ¾ß Çϴµ¥ À̶§´Â Á¤Àû »ý¼ºÀÚ°¡ ÇÊ¿äÇÏ´Ù. SetAmPm ¸Þ¼µå´Â Ãâ·Â Çü½ÄÀ» º¯°æÇÑ´Ù. ƯÁ¤ °´Ã¼ÀÇ ¼Ó¼ºÀÌ ¾Æ´Ñ Ŭ·¡½º ¼Ò¼ÓÀÇ Á¤Àû Çʵ带 º¯°æÇϹǷΠ¿ª½Ã Á¤ÀûÀÌ´Ù. OutTime ¸Þ¼µå´Â UseAmPm Çʵ忡 µû¶ó ½Ã°£À» 12½Ã°£Á¦³ª 24½Ã°£Á¦ Çü½ÄÀ¸·Î Ãâ·ÂÇÑ´Ù. Á¤Àû Çʵ带 º¯°æÇÏ¸é ¸ðµç °´Ã¼°¡ ¿µÇâÀ» ¹Þ´Â´Ù.
Á¤Àû ¸â¹ö´Â ƯÁ¤ °´Ã¼¿¡ ¼Ò¼ÓµÇÁö ¾Ê¾Æ Ŭ·¡½º·ÎºÎÅÍ È£ÃâÇÑ´Ù. SetAmPmÀº Time Ŭ·¡½º ¼Ò¼ÓÀÌÁö Now³ª Then °´Ã¼ ¼Ò¼ÓÀÌ ¾Æ´Ï´Ù. Now.SetAmPm ½ÄÀ¸·Î´Â È£ÃâÇÒ ¼ö ¾ø°í Time.SetAmPmÀ¸·Î È£ÃâÇØ¾ß ÇÑ´Ù.
¿ÏÀüÇÑ °´Ã¼ÁöÇâ ¾ð¾î¿¡¼ ¸ðµç °ÍÀº Ŭ·¡½º¿¡ ¼Ò¼ÓµÇ¸ç Àü¿ª ÇÔ¼ö, Àü¿ª º¯¼öÀÇ °³³äÀÌ ¾ø´Ù. ÇÏÁö¸¸ ½ÇÁ¦·Î´Â Àü¿ªÀÌ ÇÊ¿äÇÒ ¶§µµ Àִµ¥ Á¤Àû ¸â¹ö°¡ ´ë½Å »ç¿ëµÈ´Ù. Çϳª¸¸ Á¸ÀçÇÏ°í ¼ö¸íÀÌ ±æ¸ç ¾ðÁ¦µçÁö ÂüÁ¶ÇÒ ¼ö ÀÖ´Ù´Â Á¡¿¡¼ Á¤Àû ¸â¹ö´Â »ç½Ç»ó Àü¿ª°ú ºñ½ÁÇÑ °³³äÀÌ´Ù. ´Ù¸¸ ¼û±æ ¼ö ÀÖ°í Ŭ·¡½ºÀÇ ¹üÁÖ¿¡ Æ÷ÇԵȴٴ Â÷ÀÌ°¡ ÀÖ´Ù.
ÀÌ·± ½ÄÀ¸·Î »ç¿ëµÇ´Â ´ëÇ¥ÀûÀÎ ÇÔ¼ö°¡ ¹Ù·Î ÁøÀÔÁ¡ÀÎ MainÀÌ´Ù. ÇÁ·Î±×·¥ÀÌ ½ÇÇàµÉ ¶§´Â ¾î¶°ÇÑ °´Ã¼µµ »ý¼ºµÇ¾î ÀÖÁö ¾Ê¾Æ ÁøÀÔÁ¡Àº °´Ã¼¿¡ ¼Ò¼ÓµÉ ¼ö ¾ø´Ù. °´Ã¼¸¦ ¸¸µé±â Àü¿¡ È£ÃâµÇ¾î¾ß ÇϹǷΠMainÀº Á¤Àû ¸Þ¼µåÀÏ ¼ö¹Û¿¡ ¾ø´Ù. Console Ŭ·¡½ºÀÇ WriteLineµµ Á¤Àû ¸Þ¼µåÀε¥ ÄÜ¼Ö °´Ã¼¸¦ ¸¸µéÁö ¾Ê¾Æµµ ÀÚÀ¯·Ó°Ô È£ÃâÇÒ ¼ö ÀÖ´Ù.
»ó¼ö ¸â¹ö´Â ÇÑ ¹ø ÃʱâÈµÇ¸é º¯°æÇÒ ¼ö ¾ø´Â ¸â¹öÀÌ´Ù. Ŭ·¡½º¿¡ ¼Ò¼ÓµÇ°í À̸§À» °¡Áø´Ù´Â ¸é¿¡¼ ¼öÄ¡ »ó¼ö¿Í´Â ´Ù¸£´Ù. 123, "string", 3.14 °°Àº ÁøÂ¥ »ó¼ö´Â ¸®ÅÍ·²(Literal)À̶ó°í ºÎ¸¥´Ù. °ªÀÌ ÃʱâȵǴ ½ÃÁ¡¿¡ µû¶ó µÎ °¡Áö Á¾·ù°¡ ÀÖ´Ù.
const »ó¼ö´Â ÄÄÆÄÀÏÇÒ ¶§ ÃʱâÈµÇ¾î ½ÇÇàÁß¿¡ º¯°æÇÒ ¼ö ¾ø´Ù. ÇÊµå ¼±¾ð¹®¿¡ const Å°¿öµå¸¦ ºÙÀÌ°í = ´ÙÀ½¿¡ ÃʱⰪÀ» ÁöÁ¤ÇÑ´Ù. ¼±¾ðÇÒ ¶§ ¹Ýµå½Ã ÃʱⰪÀ» ÁöÁ¤ÇØ¾ß ÇÑ´Ù. °ªÀÌ ¾ø´Â »ó¼ö´Â Àǹ̰¡ ¾øÀ¸¸ç ÃʱⰪ ÁöÁ¤À» »ý·«ÇÏ¸é ¿¡·¯·Î 󸮵ȴÙ.
class Date {
public const int DAY = 24;
}
Date Ŭ·¡½º´Â DAY »ó¼ö ¸â¹ö¸¦ 24·Î Á¤ÀÇÇÑ´Ù. ÇÏ·çÀÇ ½Ã°£À» ÀûÀ» ¶§ 24 ´ë½Å DAY »ó¼ö ¸â¹ö¸¦ »ç¿ëÇÑ´Ù. »ó¼ö ¸â¹ö´Â ¿ÜºÎ¿¡ °ø°³Çصµ ¾îÂ÷ÇÇ º¯°æÇÒ ¼ö ¾ø¾î ¾×¼¼½º ÁöÁ¤Àº Åë»ó publicÀÌ´Ù. ±×·¯³ª ÀÎÅÚ¸®¼¾½º ¸ñ·Ï¿¡ ³ª¿Ã ÇÊ¿äÁ¶Â÷µµ ¾ø´Ù¸é private·Î ¼û±â´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÏ´Ù.
»ó¼ö´Â static ÁöÁ¤ÀÚ¸¦ ¾²Áö ¾Ê¾Æµµ Ç×»ó Á¤ÀûÀ̸ç staticÀ» ºÙÀÌ¸é ¿Ö ¾µµ¥¾ø´Â ÁþÀ» ÇÏ´À³Ä¸ç ¿¡·¯·Î ó¸®ÇÑ´Ù. º¯ÇÏÁöµµ ¾Ê´Â °íÁ¤µÈ °ªÀ» °´Ã¼º°·Î °¡Áú ÇÊ¿ä´Â ¾ø´Ù. ±×·¡¼ ¿ÜºÎ¿¡¼ ÂüÁ¶ÇÒ ¶§ Date.DAY Çü½ÄÀ¸·Î °´Ã¼°¡ ¾Æ´Ñ Ŭ·¡½º ¼Ò¼ÓÀ¸·Î Àд´Ù.
»ó¼ö ¸â¹ö´Â ¼³¸íÀûÀÎ À̸§À» °¡Á® ÀÇ¹Ì ÆľÇÀÌ ½±´Ù. ¼ýÀÚ´Â °ª¸¸ º¸¿© Á¤È®ÇÑ Àǹ̸¦ ¾Ë±â ¾î·Æ´Ù. ¿¹¸¦ µé¾î 1609 ¼ýÀÚÀÇ Àǹ̸¦ ÁüÀÛÇϱâ´Â ¾î·ÆÁö¸¸ MILEÀ̶ó´Â À̸§À» ºÙ¿© ÁÖ¸é 1¸¶ÀÏÀ» ÀǹÌÇÏ´Â 1609¹ÌÅͶó´Â °ÍÀ» ÆľÇÇÒ ¼ö ÀÖ´Ù. ¼öÁ¤ÇÏ°í °ü¸®Çϱ⵵ ½±´Ù. Æò°¡ ±â°£ÀÌ 30ÀÏÀÎ ¼Î¾î¿þ¾î¸¦ ¸¸µé ¶§ ¼ýÀÚ¸¦ ¹Ù·Î ¾²´Â °Íº¸´Ù TRIAL »ó¼ö ¸â¹ö¸¦ »ç¿ëÇÑ´Ù. ¼ýÀÚ´Â ¸ðµÎ ã¾Æ ¼öÁ¤ÇØ¾ß ÇÏÁö¸¸ »ó¼ö´Â ÃʱⰪ¸¸ ¼öÁ¤ÇÏ¸é µÈ´Ù. ÀϺθ¸ °íÄ¡´Â »ç°í³ª ¾û¶×ÇÑ °ªÀ» °Çµå¸± À§Çèµµ ¾ø´Ù.
const Å°¿öµå´Â Áö¿ªº¯¼ö¿¡µµ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ¼öÇÐÀû °è»êÀ» ÇÏ´Â ¸Þ¼µå¿¡¼ °íÁ¤µÈ ºñÀ²À» °è¼Ó »ç¿ëÇÑ´Ù¸é Áö¿ª »ó¼ö·Î Á¤ÀÇÇÑ ÈÄ »ç¿ëÇÑ´Ù.
void Calculate() {
const double RATE = 0.85;
....
}
»ó¼ö ¸â¹öÀÇ µÎ ¹ø° Á¾·ù´Â readonly Å°¿öµå·Î ÁöÁ¤ÇÏ´Â Àбâ Àü¿ë ÇʵåÀÌ´Ù. »ó¼ö¿Í Àбâ Àü¿ëÀº º¯°æÇÒ ¼ö ¾ø´Â °ÍÀº °°Áö¸¸ ÃʱâÈ ½ÃÁ¡ÀÌ ´Þ¶ó ¿©·¯ °¡Áö Â÷ÀÌ°¡ ÀÖ´Ù.
l »ó¼ö´Â ÄÄÆÄÀϽÿ¡ ÃʱâȵÇÁö¸¸ Àбâ Àü¿ëÀº »ý¼ºÀÚ¿¡ ÀÇÇØ ÃʱâȵȴÙ. »ý¼ºµÇ´Â µ¿¾È¿¡´Â º¯°æ °¡´ÉÇØ °è»êÀ» ÅëÇØ ÃʱâÈÇÒ ¼ö ÀÖ´Ù. Àбâ Àü¿ë Çʵå´Â = Ãʱâ½Ä ¶Ç´Â »ý¼ºÀÚ¿¡¼ ÃʱâÈÇ쵂 µÑ ´Ù »ý·«ÇÏ¸é µðÆúÆ® °ªÀ» °¡Áö¸ç ¿¡·¯´Â ¾Æ´Ï´Ù.
l ÄÄÆÄÀÏÁß¿¡ ÃʱâȵǴ »ó¼ö´Â °ª ŸÀÔ¸¸ °¡´ÉÇϸç new ¿¬»êÀÚ·Î »ý¼ºÇÏ´Â ÂüÁ¶ ŸÀÔÀº ¾ÈµÈ´Ù. ´Ü ¿¹¿ÜÀûÀ¸·Î ¹®ÀÚ¿Àº ÂüÁ¶ ŸÀÔÀÌÁö¸¸ = Ãʱâ½ÄÀ» »ç¿ëÇÒ ¼ö ÀÖ¾î »ó¼ö·Î ¼±¾ðÇÒ ¼ö ÀÖ´Ù. Àбâ Àü¿ëÀº ÂüÁ¶ ŸÀÔµµ °¡´ÉÇÏ´Ù.
l Àбâ Àü¿ë Çʵå´Â °¢ °´Ã¼¸¶´Ù ´Ù¸¥ °ªÀ¸·Î ÃʱâÈÇÒ ¼ö ÀÖ´Ù. °´Ã¼¸¶´Ù °¢°¢ÀÇ Çʵ带 °¡Áú ¼ö ÀÖ¾î Á¤Àû ¼ºÁúÀ» °¡ÁöÁö ¾Ê´Â´Ù. static ÁöÁ¤ÀÚ¸¦ ºÙ¿© Á¤ÀûÀ¸·Î ¼±¾ðÇÒ ¼ö ÀÖµÇ ÀÌ °æ¿ì Á¤Àû »ý¼ºÀÚ¿¡¼ ÃʱâÈÇÑ´Ù.
l const´Â Áö¿ªº¯¼ö¿¡µµ Àû¿ëµÇÁö¸¸ readonly´Â Ŭ·¡½ºÀÇ Çʵ忡¸¸ Àû¿ëµÈ´Ù. ¸Þ¼µå³»ÀÇ Áö¿ª »ó¼ö´Â const¸¸À¸·Îµµ ÃæºÐÇÏ´Ù.
const´Â ÇÑ ¹ø °áÁ¤µÇ¸é Àý´ë·Î ¹Ù²Ü ¼ö ¾øÁö¸¸ readonly´Â »ý¼ºÀÚ¿¡¼ µü ÇÑ ¹ø °ªÀ» °áÁ¤ÇÒ ¼ö ÀÖ´Â ±âȸ°¡ Á¦°øµÈ´Ù. const°¡ °øÀå¿¡¼ ±¸¿öÁ® ³ª¿À´Â CD-ROM ¹Ìµð¾î¶ó¸é readonly´Â ºñ¾î ÀÖµÇ ÇÑ ¹øÀº ±â·ÏÇÒ ¼ö ÀÖ´Â CD-R ¹Ìµð¾î¿¡ ºñÀ¯ÇÒ ¼ö ÀÖ´Ù.
µÎ Á¾·ùÀÇ »ó¼ö´Â ¿ëµµ°¡ ´Ù¸£´Ù. const´Â ±â¾ïÀÇ ¿ëÀÌÇÔÀ̳ª È¿À²ÀûÀÎ ¼Ò½º °ü¸®°¡ ¸ñÀûÀ̸ç readonly´Â ºÎÁÖÀÇÇÑ º¯°æ ¹æÁö°¡ ÁÖµÈ ¸ñÀûÀÌ´Ù. ´ÙÀ½ ¿¹Á¦´Â Á¶Æø Ŭ·¡½º¸¦ ¸ðÇüÈÇÑ °ÍÀÌ´Ù.
Jopok |
|
using System;
class CSTest { static void Main() { Jopok NalaliPa; NalaliPa = new Jopok("±è»óÇü", 25, 500); NalaliPa.Intro(); } }
class Human { private string Name; private int Age; public Human(string aName, int aAge) { Name = aName; Age = aAge; } public void Intro() { Console.WriteLine($"{Age}»ì {Name}ÀÔ´Ï´Ù."); } }
class Jopok { readonly private Human Dumok; private int Jolgae; public Jopok(string aName, int aAge, int aJolgae) { Dumok = new Human(aName, aAge); Jolgae = aJolgae; } public void Intro() { Console.Write("´ë»§ : "); Dumok.Intro(); Console.WriteLine($"Á¶Á÷¿ø : {Jolgae}¸í"); } } |
|
½ÇÇà°á°ú |
´ë»§ : 25»ì ±è»óÇüÀÔ´Ï´Ù. Á¶Á÷¿ø : 500¸í |
Á¶ÆøÀº µÎ¸ñ°ú ±×¸¦ µû¸£´Â Á¹°³µé·Î ±¸¼ºµÈ´Ù. Jopok Ŭ·¡½º´Â µÎ¸ñÀ» Ç¥ÇöÇÏ´Â Human °´Ã¼ Dumok Çʵå(¾î·µç µÎ¸ñµµ Àΰ£À̴ϱî)¿Í Á¹°³ÀÇ ¼ö¸¦ Ç¥ÇöÇÏ´Â Jolgae Çʵå·Î ±¸¼ºµÈ´Ù. Á¦´ë·Î Ç¥ÇöÇÏ·Á¸é Á¶Á÷ °·É, ÁÖ ±Ù°ÅÁö, Çൿ ´ëÀå µîÀÌ ´õ ÇÊ¿äÇÏÁö¸¸ ¿¹Á¦ÀÏ »ÓÀÌ´Ï ´ëÃæ ÇÏÀÚ. ¸Þ¼µå´Â »ý¼ºÀÚ¿Í Á¶Á÷À» ¼Ò°³ÇÏ´Â Intro ¸Þ¼µå°¡ Æ÷ÇԵǾî ÀÖ´Ù.
Á¶ÆøÀÇ µÎ¸ñÀº Á¶Á÷ÀÌ ¸¸µé¾îÁú ¶§ ÇÑ ¹ø Á¤ÇØÁö¸é º¯ÇÏÁö ¾Ê¾Æ Dumok Çʵå´Â readonly·Î ÁöÁ¤µÇ¾úÀ¸¸ç »ý¼ºÀÚ¿¡¼ ÃʱâȵȴÙ. ÇϱػóÀÌ ¹ß»ýÇÏÁö ¾Ê´Â ÇÑ Á¶Á÷ÀÌ ÇØüµÉ ¶§±îÁö À¯ÁöµÇ¸ç µÎ¸ñÀÌ ¹Ù²î¸é »ç½Ç»ó ±× Á¶Á÷Àº ¿ÍÇØµÈ °ÍÀÌ´Ù. µÎ¸ñÀº °´Ã¼¿©¼ °ª¸¸ °¡´ÉÇÑ const·Î ¼±¾ðÇÒ ¼ö´Â ¾ø´Ù. ´ÙÀ½ ¼±¾ð¹®À» ½ÇÇàÇØ º¸¸é ¿Ö ¾ÈµÇ´ÂÁö ÄÄÆÄÀÏ·¯°¡ °¡¸£ÃÄ ÁØ´Ù.
private const Human Dumok = new Human("±è»óÇü", 25);
const¸¦ ¾µ ¼ö ¾ø´Â ¶Ç ´Ù¸¥ ÀÌÀ¯´Â ÇÑ Á¶Á÷ÀÇ µÎ¸ñÀº ¹Ù²îÁö ¾ÊÁö¸¸ Á¶Á÷º°·Î µÎ¸ñÀº ´Ù¸£±â ¶§¹®ÀÌ´Ù. ³¯¶ó¸®ÆÄ µÎ¸ñÀº ±è»óÇü´ÔÀÌÁö¸¸ ´Ù¸¥ ÆÄÀÇ µÎ¸ñÀº ´Ù¸¥ ³ðÀÏ ¼öµµ ÀÖ´Ù. ´Ù¸¥ Á¶ÆøÀ» »ý¼ºÇÏ´Â Äڵ带 ÀÛ¼ºÇØ º¸ÀÚ.
Jopok JebiPa = new Jopok("°Á¦ºñ", 45, 99);
JebiPa.Intro();
ÀÌ·¸°Ô µÇ¸é Á¦ºñÆÄÀÇ µÎ¸ñÀº °Á¦ºñ°¡ µÈ´Ù. ¹°·Ð Á¦ºñÆĵµ ÀÏÁ¾ÀÇ Á¶Á÷À̹ǷΠÇÑ ¹ø Á¤ÇØÁø µÎ¸ñÀº ¹Ù²Ü ¼ö ¾ø´Ù. ¸¸¾à Çൿ´ëÀå ±æ¿ëÀÌ°¡ °Á¦ºñ¸¦ ¼÷ûÇÏ°í »õ µÎ¸ñÀÌ µÇ¾ú´Ù¸é Á¦ºñÆÄ´Â ±æ¿ëÀÌÆÄ°¡ µÈ °ÍÀÌÁö ´õ ÀÌ»ó Á¦ºñÆÄ°¡ ¾Æ´Ï´Ù.
Ŭ·¡½º´Â °ÅÀÇ ¸ðµç °ÍÀ» ´ã´Â ÅëÀ̸ç ÁÖ·Î Çʵå, ¸Þ¼µå·Î ±¸¼ºµÇÁö¸¸ °®°¡Áö Á¾·ùÀÇ ¸â¹ö¸¦ ´Ù Æ÷ÇÔÇÑ´Ù. ½ÉÁö¾î Ŭ·¡½º°¡ Ŭ·¡½º¸¦ Æ÷ÇÔÇÏ´Â Áßøµµ °¡´ÉÇÏ´Ù. ³»ºÎÀûÀ¸·Î¸¸ »ç¿ëÇÒ Å¸ÀÔÀÌ ÇÊ¿äÇÏ´Ù¸é Ŭ·¡½º ¾È¿¡ Ŭ·¡½º ¼±¾ð¹®À» ÀÛ¼ºÇÑ´Ù.
Æ÷ÇÔµÈ Å¬·¡½º¸¦ ³»ºÎ ŸÀÔ(Nested Type)À̶ó°í ÇÑ´Ù. Ŭ·¡½º »Ó¸¸ ¾Æ´Ï¶ó ±¸Á¶Ã¼³ª ¿°ÅÇüµµ ³»ºÎ ŸÀÔÀ¸·Î Æ÷Ç﵃ ¼ö ÀÖ´Ù. ¹Ý´ë °³³äÀº ¿ÜºÎ ŸÀÔ(Non Nested Type)ÀÌ¸ç ³×ÀÓ½ºÆäÀ̽º¿¡ ¼Ò¼ÓµÈ´Ù. Áö±Ý±îÁö ÀÛ¼ºÇÑ Human, Time Ŭ·¡½º´Â ¸ðµÎ ¿ÜºÎ ŸÀÔÀÌ´Ù.
NestedType |
|
using System;
class Time { private class Int60 { private int Integer; public Int60(int avalue) { Value = avalue; } public int Value { get { return Integer; } set { if (value >= 0 && value < 60) Integer = value; } } }
private int hour; private Int60 min, sec; public Time(int aHour, int aMin, int aSec) { hour = aHour; min = new Int60(aMin); sec = new Int60(aSec); } public void OutTime() { Console.WriteLine($"{hour}½Ã {min.Value}ºÐ {sec.Value}ÃÊ"); } }
class CSTest { static void Main() { Time Now = new Time(12, 34, 56); Now.OutTime(); } } |
|
½ÇÇà°á°ú |
12½Ã 34ºÐ 56ÃÊ |
Time Ŭ·¡½ºÀÇ min, sec Çʵå´Â 0ÀÌ»ó 60 ¹Ì¸¸ÀÇ Á¤¼ö¿©¾ß ³í¸®ÀûÀ¸·Î ¹®Á¦°¡ ¾ø´Ù. ¹üÀ§¸¦ ÁöÅ°±â À§ÇØ ÇÁ·ÎÆÛƼ³ª ¾×¼¼¼ ¸Þ¼µå¸¦ ÁÖ·Î »ç¿ëÇÏÁö¸¸ ¾Æ¿¹ ¹üÀ§°¡ °íÁ¤µÈ ŸÀÔÀ» ¾²¸é ¹®Á¦°¡ ¿øõ Â÷´ÜµÈ´Ù. ÀÌ ¿¹Á¦ÀÇ Int60 Ŭ·¡½º´Â 0 ~ 59·Î Á¦ÇÑµÈ Á¤¼öÇüÀ» Ç¥ÇöÇÑ´Ù.
Int60ÀÇ ¼±¾ð¹®ÀÌ Time Ŭ·¡½º ¼±¾ð¹® ¾È¿¡ Æ÷ÇԵǾî ÀÖ´Ù. ¿ÜºÎ¿¡ ¼±¾ðÇصµ µ¿ÀÛ¿¡´Â ÀÌ»óÀÌ ¾øÁö¸¸ Time ³»ºÎ¿¡¼¸¸ »ç¿ëµÈ´Ù¸é ±»ÀÌ ¹ÛÀ¸·Î ²ôÁý¾î ³¾ ÇÊ¿ä°¡ ¾ø´Ù. ÇÊ¿äÇÑ Å¸ÀÔÀ» Ŭ·¡½º ³»ºÎ¿¡ ĸ½¶ÈÇÏ¸é ±âµ¿¼ºÀÌ ÁÁ¾ÆÁö´Â ÀåÁ¡ÀÌ ÀÖ´Ù. µµ¿ì¹Ì Ŭ·¡½º¶ó¸é ¾Æ¿¹ Æ÷ÇÔ½ÃÅ°´Â °ÍÀÌ ÁÁ´Ù.
³»ºÎ ŸÀÔµµ ÀÏÁ¾ÀÇ ¸â¹ö¿©¼ ¾×¼¼½º ÁöÁ¤ÀÚ¸¦ ºÙÀδÙ. private·Î ¼û±â¸é ¾ÈÁ¤¼º°ú ¾÷±×·¹À̵å ÆíÀǼºÀÌ º¸ÀåµÈ´Ù. publicÀ¸·Î ÁöÁ¤ÇÏ¸é ¿ÜºÎ¿¡¼µµ ³»ºÎ ŸÀÔÀ» »ç¿ëÇÒ ¼ö Àִµ¥ À̶§ ¼Ò¼Ó Ŭ·¡½º¸¦ ¹àÇô Time.Int60 ½ÄÀ¸·Î ĪÇÑ´Ù.
Time.Int60 A = new Time.Int60(12);
´ÙÀ½Àº Human Ŭ·¡½º¿¡ ³»ºÎ ŸÀÔÀ» Á¤ÀÇÇØ º¸ÀÚ. ³ªÀ̸¦ Ç¥ÇöÇÏ´Â Age Çʵå´Â ³âµµ°¡ ¹Ù²î¸é ¹«È¿ÇØÁö´Â ¹®Á¦°¡ ÀÖ´Ù. ³ªÀ̺¸´Ù´Â »ý³â¿ùÀÏÀ» ÀúÀåÇÏ´Â °ÍÀÌ ´õ ÀϹÝÀûÀÌ°í ½Ç¿ëÀûÀÌ´Ù. ´ÙÀ½ ¿¹Á¦´Â Human Ŭ·¡½º¿¡ ³¯Â¥¸¦ Ç¥ÇöÇÏ´Â Date ³»ºÎ ŸÀÔÀ» ¼±¾ðÇÑ´Ù.
Birth |
|
using System;
class CSTest { static void Main() { Human Kim; Kim = new Human("±è»óÇü", 1980, 6, 29); Kim.Intro(); } }
class Human { private class Date { int y, m, d; public Date(int ay, int am, int ad) { y = ay; m = am; d = ad; } public void OutDate() { Console.WriteLine($"{y}³â {m}¿ù {d}ÀÏ"); } } private string Name; private Date Birth; public Human(string aName, int ay, int am, int ad) { Name = aName; Birth = new Date(ay, am, ad); } public void Intro() { Console.Write("À̸§:" + Name); Console.Write(", »ý³â¿ùÀÏ:"); Birth.OutDate(); } } |
|
½ÇÇà°á°ú |
À̸§:±è»óÇü, »ý³â¿ùÀÏ:1980³â 6¿ù 29ÀÏ |
Human Ŭ·¡½º´Â À̸§À» ±â¾ïÇÏ´Â Name Çʵå¿Í »ý³â¿ùÀÏÀ» ±â¾ïÇÏ´Â Birth Çʵå·Î ±¸¼ºµÇ¸ç Birth´Â ³»ºÎ ŸÀÔÀÎ Date ŸÀÔÀÌ´Ù. ³ªÀ̸¦ ±â¾ïÇÏ´Â ¹æ½Ä¿¡ ºñÇØ ÇöÀç ³âµµ·ÎºÎÅÍ Á¤È®ÇÑ ³ªÀ̸¦ °è»êÇÒ ¼ö ÀÖ¾î ¹ü¿ëÀûÀÌ´Ù. Date ³»ºÎ ŸÀÔ¿¡´Â º°´Ù¸¥ ±â´ÉÀ» ³ÖÁö ¾Ê¾Ò´Âµ¥ ÇÊ¿äÇÏ´Ù¸é À½¾ç·Â º¯È¯, ³¯Â¥ÀÇ À¯È¿ ¹üÀ§ °Ë»ç µîÀÇ ±â´ÉÀ» ´õ ³ÖÀ» ¼ö ÀÖ´Ù. ³»ºÎ ŸÀÔÀÇ ±â´ÉÀÌ ¸¹¾ÆÁö¸é ¿ÜºÎ ŸÀÔÀÌ ÇÒ ÀÏÀº ÁÙ¾îµç´Ù. Ŭ·¡½ºÀÇ Áßø Ƚ¼ö¿¡´Â Á¦ÇÑÀÌ ¾ø´Ù. ¿©±â¼ ¸¸µç Human Ŭ·¡½º¸¦ Jopok Ŭ·¡½º ³»ºÎ¿¡ Æ÷ÇÔ½ÃÅ°¸é 3Áß ÁßøÀÌ´Ù.