¼Ò¼³°°ÀºÀÚ¹Ù1ºÎ  3Àå. The Class  privateÀÇ ÁøÁ¤ÇÑÀǹ̠ 

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

3.7.1 privateÀÇ »ç¿ë ÀÌÀ¯

privateÀ» »ç¿ëÇÏ´Â ÀÌÀ¯¿¡ ´ëÇØ 3°¡Áö Áú¹®À» ´øÁö°í Áú¹®À» ÇØ°áÇϸ鼭 privateÀÇ ¶Ç ´Ù¸¥ Àǹ̿¡ ´ëÇØ¼­ ¾Ë¾Æº¸ÁÒ

 

n         private ¸â¹ö¸Þ¼­µåµµ ÀÖÀ» ¼ö ÀÖÀ»±î¿ä?

n         private ¸â¹ö Çʵ忡 Á¢±ÙÇÏ´Â ¹æ¹ýÀÌ ¸Þ¼­µå ¹Û¿¡´Â ¾øÀ»±î¿ä?

n         private ¸â¹ö Çʵ带 ¿Ö »ç¿ëÇÒ±î¿ä?

 

ÀÏ´Ü private ¸â¹ö¸Þ¼­µåºÎÅÍ ÇØ°áÀ» ÇÏÁÒ. public ¸â¹ö¸Þ¼­µåµµ Àִµ¥ private¸â¹ö¸Þ¼­µå°¡ ¾ø°Ú½À´Ï±î? ´ç¿¬È÷ ÀÖ½À´Ï´Ù. ±×·¸´Ù¸é Á¡(.)Âï°í private¸Þ¼­µå¿¡ Á¢±ÙÇÒ ¼ö ¾øÀ¸´Ï Çʿ䰡 ¾øÁö ¾Ê½À´Ï±î¶ó°í ÇϰÚÁÒ. ¸Â½À´Ï´Ù. ¿ÜºÎ¿¡¼­ »ç¿ëÇÒ ¶§´Â Á¤¸» ÇÊ¿ä ¾ø½À´Ï´Ù. ÇÏÁö¸¸ Ŭ·¡½º ³»ºÎ¿¡¼­¸¸ »ç¿ëÇϱâ À§Çؼ­ private¸Þ¼­µå¸¦ »ç¿ëÇÕ´Ï´Ù. ¹°·Ð ¸â¹ö³¢¸®´Â °øÀ¯°¡ °¡´ÉÇÏ´Ù°í ÇßÁÒ. ¸â¹ö³¢¸®´Â private publicµûÁöÁö ¾Ê½À´Ï´Ù. ´ë´äÀº ¡°¸â¹ö´Ï±î¿ä!¡±.

 

µÎ ¹øÂ° Áú¹®À» ÇØ°áÇÏÁÒ. private¸â¹öÇʵ忡 Á¢±ÙÇϰíÀÚ ÇÑ´Ù¸é public¸Þ¼­µå ¹Û¿¡´Â ¾øÀ»±î¿ä. °ÅÀÇ ±×·¸´Ù°í º¸¸é µÉ °Ì´Ï´Ù. private¸â¹öÇʵ带 ¾î¶»°Ô ÇÏ°í ½ÍÀ¸¸é public ¸Þ¼­µå¸¦ ÅëÇÏÁö ¾Ê°í¼­´Â ¹æ¹ýÀÌ ¾ø½À´Ï´Ù.

 

¼¼ ¹øÂ° Áú¹®À¸·Î ³Ñ¾î°¡ÁÒ. À̰ÍÀÌ °¡Àå Å« Áú¹®ÀÔ´Ï´Ù. ±×¸®°í Object Oriented Programming±â¹ý¿¡¼­ óÀ½ºÎÅÍ ³ª¿ÀÁö¸¸ Àß ¼³¸íÀÌ µÇÁö ¾Ê°í ¾ÆÁÖ ¾î·Æ°Ô ¼³¸íµÇ´Â ºÎºÐÀÌÁÒ. À̰ÍÀ» º¸Åë ÀºÆóÀÇ ±â¼ú, Encapsulation, ÀÚ·á º¸È£¶ó°í ÇÏÁÒ. ÀڷḦ º¸È£Çϱâ À§Çؼ­ public ¸Þ¼­µå¸¦ ÅëÇØ¼­¸¸ Á¢±Ù °¡´ÉÇÕ´Ï´Ù. À̰ÍÀº °´Ã¼ÁöÇâÀÇ ´À³¦À» ¾Æ´Â »ç¶÷µé¿¡°Ô³ª ÅëÇÏ´Â ¼Ò¸®ÁÒ. ±×·¸´Ù¸é private ¸â¹öÇʵ带 ¿Ö »ç¿ëÇÏ´ÂÁö¿¡ ´ëÇØ ÀÚ¼¼ÇÑ »çÇ×À» ¾Ë¾Æ º¸°Ú½À´Ï´Ù.

 

 

3.7.2 private ¸â¹ö Çʵ带 »ç¿ëÇÏ´Â ÀÌÀ¯

private ¸â¹ö Çʵ带 »ç¿ëÇÏ´Â ÀÌÀ¯¿¡ ´ëÇÏ¿© º¸´Ù ½¬¿î ¸»·Î ¼³¸íÇØ º¸°Ú½À´Ï´Ù. »ç½Ç, ÀÌ ºÎºÐÀº Á¦°¡ óÀ½ °´Ã¼ÁöÇâ¾ð¾î¸¦ °øºÎÇÒ ¶§ Àß ¼³¸íµÇ¾î Àִ åÀ» ºÁµµ ´À³¦ÀÌ ¾È ¿À´õ±º¿ä. °ÅÀÇ ´ëºÎºÐÀÇ Ã¥¿¡¼­µµ ¼³¸íÀÌ ¸ðÈ£ÇÏÁÒ. Àúµµ ÀÌ ºÎºÐ¿¡¼­´Â ¿©·¯ºÐÀÇ ´À³¦¸¸À» ¹Ù¶ö »ÓÀÔ´Ï´Ù. ´À³¦À» ¾ò¾îº¸½ÃÁÒ.

 

Á¦ÀÏ ¸ÕÀú, ¿ÜºÎÀÇ µ¥ÀÌÅÍ, »ç°ú°¡ ÀÖ½À´Ï´Ù. »ç°ú¸¦ private¸â¹öÇʵåÀÎ ¿ì¸®ÀÇ À§(êÖ)¼ÓÀ¸·Î ³ÖÀ¸·Á°í ÇÕ´Ï´Ù. ±×³ÉÀº ¾ÈµË´Ï´Ù. »ç°ú¸¦ À§¼ÓÀ¸·Î ±×³É Áý¾î ³Ö´Ù°£ ³­¸® ³ªÁÒ. ÀÔÀ» Å©°Ô ¹ú¸®°í ±×¸®°í ¸ñ±¸¸ÛÀ» ÃÖ´ë·Î ÇÏ°í ±×¸®°í ¹Ð¾î ³ÖÀ¸¸é. ÀÌ·± ÀÏÀº ÀÖÀ¸¸é ¾ÈµË´Ï´Ù. privateÀÇ °ø°£¿¡´Â ¸Þ¼­µå¸¦ ÅëÇØ¼­ µ¥ÀÌÅ͸¦ °É·¯¼­ Áý¾î³Ö¾î¾ß ÇÕ´Ï´Ù. ¸Þ¼­µå¸¦ ÅëÇØ¼­ ³Ö¾î º¸°Ú½À´Ï´Ù. »ç°ú¶ó´Â µ¥ÀÌÅ͸¦ ÀÔ¾ÈÀ̶ó´Â public¸Þ¼­µå¸¦ ÅëÇØ¼­ Àß°Ô ºÎ¼ö°í, ħÀ» ¹Ù¸£°í, °¥¾Æ¼­ ¸ñ±¸¸ÛÀ» ÅëÇØ¼­ »ç»ÓÈ÷ »ïÄÑ¾ß private À§¶ó´Â °ø°£À¸·Î µé¾î °¥ °Ì´Ï´Ù. ±×·±µ¥, »ý°¢Çϱâ´Â ÈûµéÁö¸¸ »ç°ú¸¦ ´Ù½Ã ¹Þ¾Æ ³»·Á°í ÇÕ´Ï´Ù. »ç°ú¸¦ ´Ù½Ã ¹Þ¾Æ ³¾ ¼ö ÀÖÀ»±î¿ä. ´ç¿¬È÷ À̰͵µ ¼ÒÈ­¶ó´Â public¸Þ¼­µå¸¦ ÅëÇØ¼­ Â±â¸¸À» ¹ØÀ¸·Î ³»º¸³»¾ß°ÚÁÒ.

 

Á¤¸®¸¦ ÇØ º¸ÁÒ. public¸Þ¼­µåÀÇ ¿ªÇÒÀº ¿ÜºÎ¿¡¼­ ¾î¶°ÇÑ µ¥ÀÌÅͰ¡ µé¾î¿Íµµ public¸Þ¼­µå¸¦ ÅëÇØ¾ß Çϱ⠶§¹®¿¡ public¸Þ¼­µåÀÇ ¸Å°³º¯¼ö¿¡ ¸ÂÃß¾î µ¥ÀÌÅ͸¦ ³Ö¾î¾ß Çϰí public¸Þ¼­µåÀÇ ÀÛ¾÷À» ÅëÇØ¼­ ÃÖÁ¾ÀûÀ¸·Î private¸â¹öÇʵ忡 µé¾î°£´Ù¸é privateÀº ¾ÆÁÖ Á¤Á¦µÈ µ¥ÀÌÅͰ¡ µÉ °ÍÀÔ´Ï´Ù. ±×¸®°í private¸â¹öÇʵåÀÇ µ¥ÀÌÅ͸¦ ³» º¸³¾ ¶§µµ private¸â¹öÇʵ带 ±×´ë·Î ³» º¸³»´Â °ÍÀÌ ¾Æ´Ï¶ó ´Ù½Ã °¡°øÀ» ÇØ¼­ ³» º¸³½´Ù¸é µ¥ÀÌÅ͸¦ ³Ö°í »©´Â »ç¶÷Àº ³»ºÎ¿¡ ¹«½¼ ÀÏÀÌ ÀϾ´ÂÁö ¸ô¶óµµ µË´Ï´Ù. public ¸Þ¼­µå¿¡ ÇÕ´çÇÑ µ¥ÀÌÅ͸¸ ³Ö¾îÁÖ¸é µÇ´Ï±î¿ä? ±×¸®°í µ¥ÀÌÅ͸¦ ¹Þ¾Æ ³¾ ¶§µµ ¾ÈÀÌ ¾î¶»°Ô µÇ¾î ÀÖ´Â °ÍÀº »ó°ü ¾ø½À´Ï´Ù. ¿ÀÁ÷ ÀÚ½ÅÀÌ ¿øÇÏ´Â °ª¸¸À» ¾òÀ¸¸é µÇ´Ï±î¿ä

 

ÀÌÁ¦±îÁö ¼³¸íÇÑ °ÍÀ» ¿¹Á¦·Î Çѹø Ç®¾îº¸ÁÒ. ¿¹Á¦ÀÇ ½ºÅ丮´Â ÀÌ·¸½À´Ï´Ù. ¿ÜºÎ¿¡¼­ int µ¥ÀÌÅÍ 2°³°¡ µé¾î¿À°í ÀÌ 2°¡Áö´Â °¡°øÀ» ÇØ¼­ private¸â¹öÇʵå·Î ³ª´² °®°Ô µË´Ï´Ù. ±×·¡¼­ private ¸â¹öÇʵå´Â ´õÇÑ °ªÀÎ sum°ú °öÇÑ °ªÀÎ mulÀÌ µË´Ï´Ù. ¹Ý´ë·Î, °ªÀ» ¿ÜºÎ·Î ³» º¸³¾ ¶§´Â ´õÇÑ °ª, °öÇÑ °ªÀ» ´õÇØ¼­ ³» º¸³»µµ·Ï ÇϰڽÀ´Ï´Ù. 

 

Test6.java(Ŭ·¡½ºÀÇ privateÀ» »ç¿ëÇÏ´Â ÀÌÀ¯ÀÇ ¿¹Á¦)

public class Test6{

             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;

             }

}

 

Test6Main.java(Test6¸¦ Å×½ºÆ®Çϱâ À§ÇÑ ¸ÞÀθ޼­µå¸¦ °¡Áø Ŭ·¡½º)

public class Test6Main{

             public static void main(String[] args){

                           Test6 t6 = new Test6();

                           t6.setValue(3, 5);

                           int s = t6.getValue();

                           System.out.println("µÎ¼öÀÇ ÇÕ°ú °öÀ» ´Ù½Ã ´õÇѰªÀº:" + s);

             }

}

C:\examples\1.Ŭ·¡½ºÀÇ °³³ä>javac Test6.java

C:\examples\1.Ŭ·¡½ºÀÇ °³³ä>javac Test6Main.java

C:\examples\1.Ŭ·¡½ºÀÇ °³³ä>java Test6Main

µÎ¼öÀÇ ÇÕ°ú °öÀ» ´Ù½Ã ´õÇѰªÀº:23

°è»ê: (3+5) + (3*5) = 23 ÀÌ µÇ´Â °Í ¾Æ½ÃÁÒ

 

 

3.7.3 °á·Ð

¿©·¯ºÐÀÌ ÀºÆóÈ­¶ó°í ¸»ÇÏ´Â ÀÌÀ¯¸¦ ¾Ë¾ÒÀ¸¸é ÁÁ°Ú±º¿ä. ÀÌ·± ¸é¿¡¼­ privateÀº ¾ÆÁÖ È¹±âÀûÀÎ °ÍÀÔ´Ï´Ù. ±âÁ¸¿¡´Â µ¥ÀÌÅ͸¦ Á¤Á¦ÇÏ´Â °úÁ¤À» »ç¿ëÀÚ°¡ Á÷Á¢ ÇÁ·Î±×·¥À¸·Î Á¦¾î¸¦ ÇØ¼­ »ç¿ëÇߴµ¥ ¾ÕÀ¸·Î´Â ÇϳªÀÇ Å¬·¡½º°¡ »õ·Î¿î µ¥ÀÌÅÍŸÀÔÀ» ¸¸µé¾î µÎ¸é ¾ðÁ¦¶óµµ ±×°ÍÀ» »ç¿ëÇÒ ¼ö ÀÖ´Â °ÍÀÌÁÒ. ÀÌ·¯ÇÑ Ãø¸é¿¡¼­ ÀÚ¹Ù¸¦ ¹Ù¶óº»´Ù¸é ¶Ç ´Ù¸¥ ¸éÀÌ º¸À̸®¶ó »ý°¢µË´Ï´Ù.



jabookÀúÀÚ¸íÇÔ
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù1ºÎ
ÀúÀÚ:ÃÖ¿µ°ü