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