¼Ò¼³°°ÀºC#  Á¦2°­ÀÇ Å¬·¡½ºÀÇ ±âº»¹è°æ  07. privateÀÇ ÁøÁ¤ÇÑ Àǹ̠ 

 

 

2.7 privateÀÇ ÁøÁ¤ÇÑ ÀǹÌ

 

 

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°­ÀÇ
ÀúÀÚ:ÃÖ¿µ°ü