¼Ò¼³°°ÀºC#  Á¦2°­ÀÇ Å¬·¡½ºÀÇ ±âº»¹è°æ  06. Á¢±Ù°ú ºñÁ¢±Ù  

 

 

 

2.6 Á¢±Ù°ú ºñÁ¢±Ù

 

 

Ŭ·¡½º ³»ºÎ¿¡´Â ¸¹Àº µ¥ÀÌÅ͵éÀÌ ÀÖ½À´Ï´Ù. ÀÌ·¯ÇÑ µ¥ÀÌÅ͵éÀº °ªÀÇ ÇÒ´çÀ» ±âº»À¸·Î Çϰí ÀÖÀ¸¸ç ±× °ªÀ» ´Ù½Ã »ç¿ëÇÏ´Â °ÍÀ» ¸ñÀûÀ¸·Î Çϰí ÀÖ½À´Ï´Ù. 2.3Àý¿¡ ³ª¿À´Â ¿¹¿¡¼­ publicÀ̶ó´Â Ű¿öµå¸¦ »ç¿ëÇß½À´Ï´Ù. ÀÌ Å°¿öµåÀÇ °³³äÀº °ªÇÒ´çÀ» Á÷Á¢ÀûÀ¸·Î ÇÒ ¼ö ÀÖ´À³Ä ¾ø´À³Ä¿¡ ÁÖ¸ñÀûÀÌ ÀÖ½À´Ï´Ù. ¡®°ªÇÒ´çÀ» ÇÒ ¼ö ÀÖ´Ù¡¯ ¶ó°í Ç¥½ÃÇϱâ À§Çؼ­ publicÀ̶ó´Â Ű¿öµå¸¦ »ç¿ëÇÕ´Ï´Ù. ´ÙÀ½ÀÇ ¿¹Á¦´Â °ªÇÒ´çÀ» À§ÇÑ ¿¹Á¦ÀÔ´Ï´Ù.

 

&

AccessTest.cs

Ü Á¢±ÙÁöÁ¤¿¡ µû¸¥ °ªÇÒ´çÀ» À§ÇÑ ¿¹Á¦

using System;

public class Family {

         public int age;

         public long height;

         private float weight;

}

public class AccessTest {

       public static void Main()                         {

                  Family sister = new Family();

                  sister.age =100;

                  sister.height = 170L;

                        sister.weight = 67.0F;//¿¡·¯¹ß»ý

                  Console.WriteLine("age : {0}" , sister.age);

                  Console.WriteLine("height : {0}" , sister.height);

                        Console.WriteLine("weight : {0}" , sister.weight);//¿¡·¯¹ß»ý

       }//main

}//class

C:\C#Example\02>csc AccessTest.cs

AccessTest.cs(12,3): error CS0122: º¸È£ ¼öÁØ ¶§¹®¿¡ 'Family.weight'¿¡ ¾×¼¼½ºÇÒ ¾ø½À´Ï´Ù.

AccessTest.cs(15,38): error CS0122: º¸È£ ¼öÁØ ¶§¹®¿¡ 'Family.weight'¿¡ ¾×¼¼½ºÇÒ ¼ö ¾ø½À´Ï´Ù.

 

 

Family¶ó´Â Ŭ·¡½º¸¦ ÀÌ¿ëÇÏ¿© sister º¯¼ö¸¦ ¼±¾ðÇÑ ÈÄ new ¿¬»êÀÚ¸¦ ÀÌ¿ëÇÏ¿© ¸Þ¸ð¸®¸¦ »ý¼ºÇÑ »óÅ¿¡¼­ sister.age¶ó´Â Ç¥ÇöÀ» »ç¿ëÇϰí ÀÖ½À´Ï´Ù. À̰ÍÀº publicÀ¸·Î Á¡(.)À» Âï°í ÇÒ´çÇØµµ µÈ´Ù´Â Çã¶ôÀÎ °ÍÀÔ´Ï´Ù. ÀÌ·¯ÇÑ Çã¶ôÀ» ÇØ Áִ Ű¿öµå¸¦ ¿ì¸®´Â Á¢±ÙÁöÁ¤ÀÚ(Access Identifier)À̶ó°í ÇÕ´Ï´Ù. Á¢±ÙÁöÁ¤Àº ¸Þ¸ð¸®°¡ »ý¼ºµÈ »óÅ¿¡¼­ ÀÌ·ç¾îÁö´Â Á¢±ÙÁöÁ¤ÀÔ´Ï´Ù. publicÀÇ ¹Ý´ëµÇ´Â °³³äÀº ¹Ù·Î privateÀÔ´Ï´Ù. privateÀÏ °æ¿ì¿¡ public°ú °°Àº ¹æ¹ýÀ¸·Î È£ÃâÇÑ´Ù¸é ¿¡·¯¸¦ ¸¸³ª°Ô µÉ °ÍÀÔ´Ï´Ù. À§ÀÇ ¿¹Á¦¿¡¼­ weight´Â privateÀÔ´Ï´Ù. ÇÏÁö¸¸ À̰ÍÀ» ¹«½ÃÇϰí Á÷Á¢Á¢±ÙÀ» ½ÃµµÇϰí Àֱ⠶§¹®¿¡ ÄÄÆÄÀϴܰ迡¼­ ¿¡·¯¸¦ ¹ß»ýÇÏ°Ô µÇ´Â °ÍÀÔ´Ï´Ù.

 

´ç¿¬È÷ Á¢±ÙÀ» ¸øÇÏ°Ô ¸·¾Æ ³õ¾Ò±â ¶§¹®ÀÔ´Ï´Ù. ÀÌ¿Í °°Àº °æ¿ì¿¡ privateÀÇ ¸ñÀûÀº µÎ °¡Áö·Î ³ª´©¾î¼­ »ý°¢ÇØ º¼ ¼ö ÀÖ½À´Ï´Ù.

 

1 privateÀ» »ç¿ëÇÏ´Â ÀÌÀ¯

n                  Ŭ·¡½º ³»ºÎ¿¡¼­¸¸ »ç¿ëÇϱâ À§Çؼ­

n                  ¿ÜºÎ¿¡¼­ µé¾î¿À´Â µ¥ÀÌÅͶó ÇÒÁö¶óµµ Á÷Á¢ÀûÀÎ ÇҴ纸´Ù´Â °£Á¢ÀûÀ¸·Î ÇÒ´çÇϱâ À§Çؼ­

 

 

Ŭ·¡½º ³»ºÎ¿¡¼­ »ç¿ëÇϱâ À§ÇÑ ¸ñÀûÀ¸·Î ¿ÜºÎ¿¡¼­ Á¢±Ù ¸øÇÑ´Ù´Â °ÍÀº ¾î´À Á¤µµ ÀÌÇØ ÇÒ ¼ö ÀÖ´Â ÀÏÀÔ´Ï´Ù¸¸ °£Á¢ÀûÀ¸·Î ÇÒ´çÇϱâ À§ÇÑ °ÍÀº ¾à°£ ¾Ö¸ÅÇÏÁö ¾Ê½À´Ï±î? ÀÌ ¸»Àº private¿¡ µ¥ÀÌÅ͸¦ ÇÒ´çÇϱâ À§Çؼ­ ¸Þ¼­µå¸¦ ÀÌ¿ëÇÑ´Ù´Â ¶æÀÔ´Ï´Ù. Áï, Ŭ·¡½º ³»ºÎ¿¡ °ªÀ» Á÷Á¢ÇÒ´çÇϱ⠺¸´Ù´Â ¸Þ¼­µå¸¦ ÅëÇØ¼­ Á¤Á¦ÀÇ °úÁ¤À» °ÅÄ£ ÈÄ Á¤Á¦µÈ µ¥ÀÌÅ͸¦ ³»ºÎÀÇ º¯¼ö¿¡ ÇÒ´çÇϰڴٴ ¶æÀÔ´Ï´Ù. ÇÊ¿ä ¾ø´Â ºÎºÐ°ú À߸øµÈ ºÎºÐÀ» °É·¯³»°í Á¤Á¦Çؼ­ ²À ÇÊ¿äÇÑ µ¥ÀÌÅ͸¸À» ³»ºÎÀÇ º¯¼ö¿¡ º¸°üÇϰڴٴ ¶æÀÔ´Ï´Ù.

 

¢Ã public ¸Þ¼­µå¸¦ ÀÌ¿ëÇÑ private ¸â¹öÀÇ Á¢±Ù

q                ¿ÜºÎ·ÎºÎÅÍ µé¾î¿À´Â µ¥ÀÌÅ͸¦ ¸Å°³º¯¼ö(Parameter)¸¦ ÅëÇØ ¹Þ¾Æ¼­ ³»ºÎÀÇ ¸â¹öÇʵ忡 Àü´ÞÇØ ÁÖ´Â ¹æ¹ýÀ» »ç¿ë.

q                ¹ÛÀ¸·Î ³»º¸³¾ ¶§´Â ¸Þ¼­µåÀÇ ¸®ÅÏ(Return)À» ÅëÇØ¼­ ¿ÜºÎ·Î Àü´ÞÇϰí ÀÖ´Ù.

 

 

¸Þ¼­µå´Â ³»ºÎ¿¡ Àֱ⠶§¹®¿¡ privateÀ̵ç publicÀÌµç ¸ðµç ³»ºÎÀÇ ¸â¹öÇʵåµéÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×¸®°í ¸Þ¼­µå¶õ ³ðÀº ¿ÜºÎ¿¡¼­ ³»ºÎ·Î ¿¬°áµÇ´Â Åë·Î¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. ÀÌ Åë·Î°¡ ¹Ù·Î ¸Å°³º¯¼öÀÔ´Ï´Ù. ±×¸®°í ¸Þ¼­µå´Â privateÀÇ µ¥ÀÌÅ͸¦ ³»ºÎ¿¡¼­ ¿ÜºÎ·Î ³»º¸³»±â À§ÇÑ Åë·Î ¶ÇÇÑ °¡Áö°í ÀÖ½À´Ï´Ù. ÀÌ ¶§´Â ¸®ÅÏÀ̶ó´Â °ÍÀ» ÀÌ¿ëÇÕ´Ï´Ù. ´ÙÀ½ÀÇ ¿¹Á¦´Â ¸Þ¼­µå¸¦ ÀÌ¿ëÇÏ¿© private¿¡ Á¢±ÙÇÏ´Â ¹æ¹ýÀ» º¸¿© ÁÖ°í ÀÖ½À´Ï´Ù.

 

&

TestPrivate.cs

Ü private¿¡ Á¢±ÙÇϱâ À§ÇÑ ¿¹Á¦

using System;

public class TestPrivate{

           private int top_secret;

           public void SetWeight(int my_weight){

                      top_secret = my_weight;

         }

         public int GetWeight(){

                      return top_secret;

         }

}//class

 

public class TestMain {

         public static void Main() {

                      int s;

                      TestPrivate we = new TestPrivate();

                      we.SetWeight(70);

                      s = we.GetWeight();

                              Console.WriteLine("private¸â¹öÀÇ °ªÀº: " + we.GetWeight());

                              Console.WriteLine("private¸â¹öÀÇ °ªÀº: " +s);

         }//main

}//class

C:\C#Example\01>csc TestPrivate.cs

C:\C#Example\01> TestPrivate

age : 100

height : 170

weight : 67

 

 

private ¸â¹öÇʵ忡 Á÷Á¢ Á¢±ÙÀ» ÇÒ ¼ö ¾ø±â ¶§¹®¿¡ ¿ÜºÎ·ÎºÎÅÍ µé¾î¿À´Â µ¥ÀÌÅ͸¦ ¸Å°³º¯¼ö¸¦ ÅëÇØ¼­ ³»ºÎÀÇ ¸â¹öÇʵ忡 Àü´ÞÇØ ÁÖ¾ú½À´Ï´Ù. ¿ÜºÎ·Î ³»º¸³¾ ¶§´Â ¸Þ¼­µåÀÇ ¸®ÅÏÀ» ÅëÇØ¼­ Àü´ÞÇÏ¿´½À´Ï´Ù. ÀÌ·¸°Ô ÇÑ´Ù¸é private ¸â¹öÇʵåÀÇ Á¢±ÙÀº ¾ÆÁÖ ¿ì¾ÆÇÏ°Ô ÇØ°á µÇ´Â °ÍÀÔ´Ï´Ù.



jabookÀúÀÚ¸íÇÔ
Á¦¸ñ:¼Ò¼³°°ÀºC# Á¦2°­ÀÇ
ÀúÀÚ:ÃÖ¿µ°ü