privateÀ» »ç¿ëÇÏ´Â ÀÌÀ¯¿¡ ´ëÇØ 3°¡Áö Áú¹®À» ´øÁö°í Áú¹®À» ÇØ°áÇÏ¸é¼ privateÀÇ ¶Ç ´Ù¸¥ Àǹ̿¡ ´ëÇØ¼ ¾Ë¾Æº¸ÁÒ.
1 private¿¡ ´ëÇÑ Áú¹®
n private ¸â¹ö¸Þ¼µåµµ ÀÖÀ»±î¿ä?
n private ¸â¹öÇʵ忡 Á¢±ÙÇÏ´Â ¹æ¹ýÀÌ ¸Þ¼µå ¹Û¿¡´Â ¾øÀ»±î¿ä?
n private ¸â¹öÇʵ带 ¿Ö »ç¿ëÇÒ±î¿ä?
ÀÏ´Ü private ¸â¹ö¸Þ¼µå(Member Method)ºÎÅÍ ÇØ°áÀ» ÇÏÁÒ. public ¸â¹ö¸Þ¼µåµµ Àִµ¥ private ¸â¹ö¸Þ¼µå°¡ ¾ø°Ú½À´Ï±î? ´ç¿¬È÷ ÀÖ½À´Ï´Ù. ±×·¸´Ù¸é Á¡(.)Âï°í private ¸Þ¼µå¿¡ Á¢±ÙÇÒ ¼ö ¾øÀ¸´Ï Çʿ䰡 ¾øÁö ¾Ê½À´Ï±î ¶ó°í ÇϰÚÁÒ. ¸Â½À´Ï´Ù. ¿ÜºÎ¿¡¼ »ç¿ëÇÒ ¶§´Â Á¤¸» ÇÊ¿ä ¾ø½À´Ï´Ù. ÇÏÁö¸¸ Ŭ·¡½º ³»ºÎ¿¡¼¸¸ »ç¿ëÇϱâ À§Çؼ private ¸Þ¼µå¸¦ »ç¿ëÇÕ´Ï´Ù. ¸â¹ö³¢¸®´Â °øÀ¯´Â °¡´ÉÇÕ´Ï´Ù. Áï, ¸â¹ö³¢¸®´Â privateÀÎÁö publicÀÎÁö¸¦ µûÁöÁö ¾Ê½À´Ï´Ù. ±× ÀÌÀ¯´Â ¸â¹ö´Ï±î¿ä!
|
¢Ã private ¸Þ¼µå(Method) |
|
q ÇØ´ç Ŭ·¡½º ³»ºÎ¿¡¼¸¸ »ç¿ëÇÑ´Ù. q ¸â¹ö³¢¸®´Â private°ú publicÀ» ±¸ºÐÇÏÁö ¾Ê´Â´Ù. |
µÎ ¹øÂ° Áú¹®À» ÇØ°áÇÏÁÒ. private ¸â¹öÇʵ忡 Á¢±ÙÇϰíÀÚ ÇÑ´Ù¸é public ¸Þ¼µå ¹Û¿¡´Â ¾øÀ»±î¿ä. ´äÀº ¡®¾ø½À´Ï´Ù¡¯ ÀÔ´Ï´Ù. private ¸â¹öÇʵ带 ¾î¶»°Ô ÇÏ°í ½ÍÀ¸¸é public ¸Þ¼µå¸¦ ÅëÇÏÁö ¾Ê°í¼´Â ¹æ¹ýÀÌ ¾ø½À´Ï´Ù.
¼¼ ¹øÂ° Áú¹®À¸·Î ³Ñ¾î°¡ÁÒ. À̰ÍÀÌ °¡Àå Å« Áú¹®ÀÔ´Ï´Ù. ±×¸®°í °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö(Object Oriented Programming)±â¹ý¿¡¼ óÀ½ºÎÅÍ ³ª¿ÀÁö¸¸ Àß ¼³¸íÀÌ µÇÁö ¾Ê°í ¾ÆÁÖ ¾î·Æ°Ô ¼³¸íµÇ´Â ºÎºÐÀÌÁÒ. À̰ÍÀ» º¸Åë ÀºÆóÀÇ ±â¼ú, Encapsulation, ¶Ç´Â ÀڷẸȣ¶ó°í ÇÕ´Ï´Ù. ÀڷḦ º¸È£Çϱâ À§Çؼ public ¸Þ¼µå¸¦ ÅëÇØ¼¸¸ Á¢±ÙÇÏ°Ô ÇÏ´Â °ÍÀÔ´Ï´Ù. À̰ÍÀº °´Ã¼ÁöÇâÀÇ ´À³¦À» ¾Æ´Â »ç¶÷µé¿¡°Ô³ª ÅëÇÏ´Â ¼Ò¸®ÁÒ. ±×·¸´Ù¸é private ¸â¹öÇʵ带 ¿Ö »ç¿ëÇÏ´ÂÁö¿¡ ´ëÇØ ÀÚ¼¼ÇÑ »çÇ×À» ¾Ë¾Æ º¸°Ú½À´Ï´Ù.
|
¢Ñ ÀÚ·áÀºÆó´Â ¸ðÈ£ÇÏ´Ù |
»ç½Ç, ÀÌ ºÎºÐÀº Á¦°¡ óÀ½ °´Ã¼ÁöÇâ ¾ð¾î¸¦ °øºÎÇÒ ¶§ Àß ¼³¸íµÇ¾î Àִ åÀ» ºÁµµ ´À³¦ÀÌ ¾È ¿À´õ±º¿ä. °ÅÀÇ ´ëºÎºÐÀÇ Ã¥¿¡¼µµ ¼³¸íÀÌ ¸ðÈ£ÇÏÁÒ. Àúµµ ÀÌ ºÎºÐ¿¡¼´Â ¿©·¯ºÐÀÇ ´À³¦¸¸À» ¹Ù¶ö »ÓÀÔ´Ï´Ù. ´À³¦À» ¾ò¾îº¸½ÃÁÒ. |
private ¸â¹öÇʵ带 »ç¿ëÇÏ´Â ÀÌÀ¯¿¡ ´ëÇÏ¿© º¸´Ù ½¬¿î ¸»·Î ¼³¸íÇØ º¸°Ú½À´Ï´Ù. Á¦ÀÏ ¸ÕÀú, ¿ÜºÎÀÇ µ¥ÀÌÅÍ, »ç°ú°¡ ÀÖ½À´Ï´Ù. »ç°ú¸¦ private ¸â¹öÇʵåÀÎ ¿ì¸®ÀÇ À§(êÖ)¼ÓÀ¸·Î ³ÖÀ¸·Á°í ÇÕ´Ï´Ù. ±×³ÉÀº ¾ÈµË´Ï´Ù. »ç°ú¸¦ À§ ¼ÓÀ¸·Î ±×³É Áý¾î ³Ö´Ù°£ ³¸®³ªÁÒ. ÀÔÀ» Å©°Ô ¹ú¸®°í ±×¸®°í ¸ñ±¸¸ÛÀ» ÃÖ´ë·Î ÇÏ°í ±×¸®°í ¹Ð¾î ³ÖÀ¸¸é! ÀÌ·± ÀÏÀº ÀÖÀ¸¸é ¾ÈµË´Ï´Ù. privateÀÇ °ø°£¿¡´Â ¸Þ¼µå¸¦ ÅëÇØ¼ µ¥ÀÌÅ͸¦ °É·¯¼ Áý¾î³Ö¾î¾ß ÇÕ´Ï´Ù. ¸Þ¼µå¸¦ ÅëÇØ¼ ³Ö¾î º¸°Ú½À´Ï´Ù. »ç°ú¶ó´Â µ¥ÀÌÅ͸¦ ¸Ô´Ù¶ó´Â public¸Þ¼µå¸¦ ÅëÇØ¼ Àß°Ô ºÎ¼ö°í, ħÀ» ¹Ù¸£°í, °¥¾Æ¼ ¸ñ±¸¸ÛÀ» ÅëÇØ¼ »ç»ÓÈ÷ »ïÄÑ¾ß private À§¶ó´Â °ø°£À¸·Î µé¾î °¥ °ÍÀÔ´Ï´Ù. ±×·±µ¥, »ý°¢Çϱâ´Â ÈûµéÁö¸¸ »ç°ú¸¦ ´Ù½Ã ¹Þ¾Æ ³»·Á°í ÇÕ´Ï´Ù. »ç°ú¸¦ ´Ù½Ã ¹Þ¾Æ ³¾ ¼ö ÀÖÀ»±î¿ä. ´ç¿¬È÷ À̰͵µ ¼Òȶó´Â public¸Þ¼µå¸¦ ÅëÇØ¼ Â±â¸¸À» ¹ØÀ¸·Î ³»º¸³»¾ß ÇÕ´Ï´Ù.
|
¢Ã private ¸â¹öÇÊµå »ç¿ë ÀÌÀ¯ |
|
q ÀڷḦ º¸È£Çϱâ À§Çؼ public ¸Þ¼µå¸¦ ÅëÇØ¼¸¸ Á¢±ÙÇÏ°Ô ÇÏ´Â °ÍÀÔ´Ï´Ù. |
Á¤¸®¸¦ ÇØ º¸ÁÒ. public ¸Þ¼µåÀÇ ¿ªÇÒÀº ¿ÜºÎ¿¡¼ ¾î¶°ÇÑ µ¥ÀÌÅͰ¡ µé¾î¿Íµµ public ¸Þ¼µå¸¦ ÅëÇØ¾ß Çϱ⠶§¹®¿¡ public ¸Þ¼µåÀÇ ¸Å°³º¯¼ö¿¡ ¸ÂÃß¾î µ¥ÀÌÅ͸¦ ³Ö¾î¾ß Çϰí, public ¸Þ¼µåÀÇ ÀÛ¾÷À» ÅëÇØ¼ ÃÖÁ¾ÀûÀ¸·Î private ¸â¹öÇʵ忡 µé¾î°£´Ù¸é privateÀº ¾ÆÁÖ Á¤Á¦µÈ µ¥ÀÌÅͰ¡ µÉ °ÍÀÔ´Ï´Ù. ±×¸®°í private ¸â¹öÇʵåÀÇ µ¥ÀÌÅ͸¦ ³» º¸³¾ ¶§µµ private ¸â¹öÇʵ带 ±×´ë·Î ³» º¸³»´Â °ÍÀÌ ¾Æ´Ï¶ó ´Ù½Ã °¡°øÀ» ÇØ¼ ³» º¸³½´Ù¸é, µ¥ÀÌÅ͸¦ ³Ö°í »©´Â »ç¶÷Àº ³»ºÎ¿¡ ¹«½¼ ÀÏÀÌ ÀϾ´ÂÁö ¸ô¶óµµ µË´Ï´Ù. public ¸Þ¼µå¿¡ ÇÕ´çÇÑ µ¥ÀÌÅ͸¸ ³Ö¾îÁÖ¸é µÇ´Ï±î¿ä? ±×¸®°í µ¥ÀÌÅ͸¦ ¹Þ¾Æ ³¾ ¶§µµ ³»ºÎ°¡ ¾î¶»°Ô µÇ¾î ÀÖµç »ó°üÀÌ ¾ø½À´Ï´Ù. ¿ÀÁ÷ ÀÚ½ÅÀÌ ¿øÇÏ´Â °ª¸¸À» ¾òÀ¸¸é µÇ´Ï±î¿ä.
ÀÌÁ¦±îÁö ¼³¸íÇÑ °ÍÀ» ¿¹Á¦·Î Çѹø Ç®¾îº¸ÁÒ. ¿¹Á¦ÀÇ ½ºÅ丮´Â ÀÌ·¸½À´Ï´Ù. ¿ÜºÎ¿¡¼ int µ¥ÀÌÅÍ 2°³°¡ µé¾î¿À°í ÀÌ 2°¡Áö´Â °¡°øÀ» ÇØ¼ private ¸â¹öÇʵå·Î ³ª´² °®°Ô µË´Ï´Ù. ±×·¡¼ private ¸â¹öÇʵå´Â ´õÇÑ °ªÀÎ sum°ú °öÇÑ °ªÀÎ mulÀÌ µË´Ï´Ù. ¹Ý´ë·Î, °ªÀ» ¿ÜºÎ·Î ³» º¸³¾ ¶§´Â ´õÇÑ °ª°ú °öÇÑ °ªÀ» ´Ù½Ã ´õÇØ¼ ³» º¸³»µµ·Ï ÇϰڽÀ´Ï´Ù.
|
& |
TestPrivate2.cs |
Ü Å¬·¡½ºÀÇ privateÀ» »ç¿ëÇÏ´Â ÀÌÀ¯ÀÇ ¿¹Á¦ |
|
using System; public class TestPrivate { private int sum; private int mul; public void SetValue(int x, int y) { sum = x + y; mul = x * y; } public int GetValue() { int s = sum + mul; return s; } } public class TestMain { public static void Main() { TestPrivate tp = new TestPrivate(); tp.SetValue(3, 5); int s = tp.GetValue(); Console.WriteLine("µÎ¼öÀÇ ÇÕ°ú °öÀ» ´Ù½Ã ´õÇÑ °ªÀº " + s); } } | ||
|
C:\C#Example\02>csc TestPrivate2.cs C:\C#Example\02>TestPrivate2 µÎ¼öÀÇ ÇÕ°ú °öÀ» ´Ù½Ã ´õÇÑ °ªÀº 23 | ||
°è»ê: (3+5) + (3*5) = 23 ÀÌ µÇ´Â °Í ¾Æ½ÃÁÒ! ¿©·¯ºÐÀÌ ÀºÆóȶó°í ¸»ÇÏ´Â ÀÌÀ¯¸¦ ¾Ë¾ÒÀ¸¸é ÁÁ°Ú±º¿ä. privateÀº ¾ÆÁÖ È¹±âÀûÀÎ °ÍÀÔ´Ï´Ù. ±âÁ¸¿¡´Â µ¥ÀÌÅ͸¦ Á¤Á¦ÇÏ´Â °úÁ¤À» »ç¿ëÀÚ°¡ Á÷Á¢ ÇÁ·Î±×·¥À¸·Î Á¦¾î¸¦ ÇØ¼ »ç¿ëÇߴµ¥, ¾ÕÀ¸·Î´Â ÇϳªÀÇ Å¬·¡½º·Î »õ·Î¿î µ¥ÀÌÅÍŸÀÔÀ» ¸¸µé¾î µÎ¸é ¾ðÁ¦¶óµµ ±×°ÍÀ» Àç»ç¿ëÇÒ ¼ö ÀÖ´Â °ÍÀÔ´Ï´Ù. ÀÌ·¯ÇÑ Ãø¸é¿¡¼ C#À» ¹Ù¶óº»´Ù¸é ¶Ç ´Ù¸¥ ¸éÀÌ º¸À̸®¶ó »ý°¢µË´Ï´Ù.
| jabookÀúÀÚ¸íÇÔ |
|
Á¦¸ñ:¼Ò¼³°°ÀºC# Á¦2°ÀÇ ÀúÀÚ:ÃÖ¿µ°ü |