3.6 ¸Þ¼µå¿Í Á¢±ÙÁ¦¾îÀÇ È°¿ë
3.6.1 ¸Þ¼µå¸¦ ÀÌ¿ëÇÑ Á¢±ÙÁ¦¾î
Á¢±ÙÁ¦¾î ¹®Á¦¿¡ ÀÖ¾î¼ ¿ì¸®´Â ¾ÆÁ÷±îÁö private¿¡ ¾î¶»°Ô Á¢±ÙÇÏ´ÂÁö ¾ð±ÞÇÏÁö ¾Ê¾Ò½À´Ï´Ù. ´Ü¼øÈ÷ ¸Þ¼µå¸¦ ÀÌ¿ë ÇÑ´Ù°í¸¸ ÇßÀ» »Ó ´õ ÀÌ»óÀÇ ¼³¸íµµ ¾ø¾ú½À´Ï´Ù. ÀÌ Àå¿¡¼´Â ¾î¶»°Ô ¸Þ¼µå¸¦ ÀÌ¿ëÇØ¼ private ¸â¹ö Çʵ忡 Á¢±ÙÇÏ¸ç ¾î¶»°Ô private¸â¹ö ÇʵåÀÇ °ªÀ» ¿ÜºÎ·Î Àü´Þ ÇÏ´ÂÁö¿¡ ´ëÇØ¼ ¹è¿ö º¸µµ·Ï ÇÏÁÒ. ±âº»¿ø¸®´Â ¿ÜºÎ·ÎºÎÅÍ µé¾î¿À´Â µ¥ÀÌÅ͸¦ ¸Å°³º¯¼ö¸¦ ÅëÇØ¼ ¹Þ¾Æ¼ ³»ºÎÀÇ ¸â¹ö º¯¼ö¿¡ Àü´ÞÇØ ÁÖ´Â ¹æ¹ýÀ» »ç¿ëÇÕ´Ï´Ù. ¹ÛÀ¸·Î ³»º¸³¾ ¶§´Â ¸Þ¼µåÀÇ ¸®ÅÏÀ» ÅëÇØ¼ ¿ÜºÎ·Î Àü´ÞÇϰí ÀÖ½À´Ï´Ù.
3.6.2 privateÀÇ Á¢±Ù
ÀÏ´Ü, Á¢±ÙÁ¦¾î°¡ ¹«¾ùÀÎÁö ¾î¶°ÇÑ ¹®Á¦¸¦ Á¦±âÇß´ÂÁö Çѹø »ó±âÇØ º¸½Ã±â ¹Ù¶ø´Ï´Ù. ´Ù½Ã Çѹø ´õ Á¤¸®ÇÏÀÚ¸é, Ŭ·¡½º Ű¿öµå·Î »õ·Î¿î µ¥ÀÌÅÍ Å¸ÀÔÀ» Çϳª ¸¸µå´Â °úÁ¤¿¡¼ ¸â¹ö¿¡ Á¢±Ù ÁöÁ¤ÀÚ¸¦ ¸í½ÃÇÒ ¼ö ÀÖ½À´Ï´Ù. ÀÌ ¶§ ¿ì¸®´Â ¸ðµÎ publicÀ¸·Î Á¢±Ù ÁöÁ¤ÀÚ¸¦ ºÎ¿©ÇÑ ´ÙÀ½, ±× »õ·Î¿î µ¥ÀÌÅÍ Å¸ÀÔÀÇ À̸§À» ºÎ¿©ÇÑ ÈÄ new¿¬»êÀÚ¸¦ ÀÌ¿ëÇÏ¿© ¸Þ¸ð¸®¸¦ »ý¼ºÇÏ¿´½À´Ï´Ù. ¸Þ¸ð¸®¸¦ »ý¼ºÇÑ ÈÄ Á¡(.)À¸·Î ¸ðµÎ Á¢±Ù °¡´ÉÇß½À´Ï´Ù. ÇÏÁö¸¸ privateÀ¸·Î µÇ¾î ÀÖ´Â Çʵ忡 Á¡(.)Âï°í Á¢±ÙÇÒ ¶§ ÄÄÆÄÀϵµ µÇÁö ¾Ê´Â Ȳ´çÇÑ ¿¡·¯¸¦ °æÇèÇß½À´Ï´Ù. À̶§ ¡°¾î¶»°Ô Á¢±Ù ÇÒ±î¿ä¡±°¡ ÀÌÀåÀÇ ÁÖÁ¦ÀÔ´Ï´Ù.
¸Þ¼µå·Î Á¢±ÙÇÑ´Ù°í ÇßÀ¸´Ï ÀÏ´ÜÀº ¸Þ¼µå´Â publicÀ¸·Î µÇ¾î ÀÖ¾î¾ß °ÚÁÒ. ±× ¸Þ¼µå¸¦ ÅëÇØ¼ ¿ÜºÎ¿¡¼ ¹ÞÀº µ¥ÀÌÅ͸¦ Ŭ·¡½º ³»ºÎ·Î Àü´ÞÇÏ´Â ¹æ¹ýÀ» »ç¿ëÇÕ´Ï´Ù. ±×¸®°í Ŭ·¡½º ³»ºÎ¿¡ ÀÖ´Â ¸â¹ö ÇʵåÀÇ °ªÀ» ¿ÜºÎ·Î Àü´ÞÇϱâ À§Çؼ´Â ´Ù½Ã ´Ù¸¥ ¸Þ¼µå¸¦ ¸¸µé¾î¼ »ç¿ë ÇØ¾ß°ÚÁÒ. À̶§´Â ¸®ÅÏÀÇ ¹æ½ÄÀ» »ç¿ëÇÕ´Ï´Ù. ¿¹Á¦¸¦ Çѹø »ìÆìº¸ÁÒ.
Test5.java(Ŭ·¡½ºÀÇ private ¸â¹ö Çʵ忡 Á¢±ÙÇϱâ À§ÇÑ ¹æ¹ýÀ» Á¦½ÃÇÏ´Â ¿¹Á¦) |
public class Test5{ private int top_secret; public void setMyTop(int x){ top_secret = x; } public int getTop(){ return top_secret; } } |
Test5.java(Ŭ·¡½ºÀÇ private ¸â¹ö Çʵ忡 Á¢±ÙÇϱâ À§ÇÑ ¹æ¹ýÀ» Á¦½ÃÇÏ´Â ¿¹Á¦) |
public class Test5Main { public static void main(String[] args) { int s; Test5 t5 = new Test5(); t5.setMyTop(1000); s = t5.getTop(); System.out.println(s); System.out.println(t5.getTop()); } } |
°á°ú C:\examples\1.Ŭ·¡½ºÀÇ °³³ä>javac Test5.java C:\examples\1.Ŭ·¡½ºÀÇ °³³ä>javac Test5Main.java C:\examples\1.Ŭ·¡½ºÀÇ °³³ä>java Test5Main private¸â¹öÀÇ °ªÀº:1000 private¸â¹öÀÇ °ªÀº:1000 s, t5.getTop() µÎ°¡Áö¸¦ Ãâ·ÂÇÑ ÀÌÀ¯´Â ¸Þ¼µå°¡ º¯¼öÀÇ ¿ªÇÒÀ» ÇÑ´Ù´Â °ÍÀ» Çѹø´õ ¸í½ÃÇϱâ À§ÇؼÀÔ´Ï´Ù. |
ÀÌ ¿¹Á¦¸¦ Çѹø º¸ÁÒ. »õ·Î¿î µ¥ÀÌÅÍ Å¸ÀÔ Test5°¡ ¸¸µé¾îÁ³½À´Ï´Ù. Test5¶ó´Â »õ·Î¿î µ¥ÀÌÅÍ Å¸ÀÔÀº 3°³ÀÇ ¸â¹ö¸¦ °¡Áö°í ÀÖ½À´Ï´Ù. 1°³ÀÇ private ¸â¹öÇʵå¿Í 2°³ÀÇ public ¸Þ¼µå¸¦ Áö´Ï°í ÀÖ½À´Ï´Ù. private ¸â¹öÇʵåÀ̱⠶§¹®¿¡ Test5Main¿¡¼ Test5µ¥ÀÌÅÍŸÀÔÀÌ t5¶ó´Â À̸§À¸·Î new¿¬»êÀÚ¸¦ »ç¿ëÇÏ¿© ¸Þ¸ð¸®¸¦ »ý¼ºÇÑ ÈÄ Test5 private ¸â¹öÇʵ忡 µ¥ÀÌÅͰªÀ» ³Ö±â À§Çؼ ¸Þ¼µå¸¦ ÀÌ¿ëÇϰí ÀÖ½À´Ï´Ù. ÀÌ ¶§ private¸â¹öÇʵ忡 Á¡(.)Âï°í Á¢±ÙÇÑ´Ù¸é ÄÄÆÄÀϵµ µÇÁö ¾Ê°ÚÁÒ. ´ç¿¬ÇÑ ¿¡·¯¶ø´Ï´Ù. ±×·¡¼ public ¸Þ¼µå¸¦ ÅëÇØ¼ Á¢±ÙÇϰí ÀÖ½À´Ï´Ù.
ÀÌÁ¦ public ¸Þ¼µå¸¦ »ìÆìº¸ÁÒ. ¸Þ¼µåÀÇ À̸§Àº Á¦ ¸¶À½´ë·Î ÁÖ¾ú´Âµ¥ óÀ½ ¹è¿ï ¶§´Â ÁÖ°í ½ÍÀº À̸§À» ÁֽʽÿÀ. ³ªÁß¿¡´Â ÁÁÀº À̸§À» Áֽðí¿ä. ±×¸®°í Á» ¹è¿ì°í ³ª¸é ¾î¶² ±ÔÄ¢¿¡ ÀÇÇØ¼ À̸§À» ÁØ´ä´Ï´Ù. ÀÚ! ÀÌÁ¦ À̸§ºÎÅÍ »ìÆìº¸ÁÒ. À̸§Àº ÀÌ·¸°Ô µË´Ï´Ù.
n public void setMyTop(int x)
n public int getTop()
ÀÌ µÎ ¸Þ¼µåÀÇ ¿ªÇÒ¿¡ ´ëÇØ¼ ¾Ë¾Æº¸ÁÒ. setMyTopÀ̶ó´Â ¸â¹ö¸Þ¼µå´Â µ¥ÀÌÅÍ Å¸ÀÔÀÌ voidÀÔ´Ï´Ù. À̰ÍÀº ¸Þ¼µå°¡ Àϸ¸ÇÏ°í ¸®ÅÏÀ» ÇÏÁö ¾ÊÀ» ¶§ voidÇüÀ» »ç¿ëÇÕ´Ï´Ù. ±×¸®°í ÇϳªÀÇ ¸Å°³º¯¼ö¸¦ ¿ÜºÎ·ÎºÎÅÍ ¹ÞÀ» °ÍÀÔ´Ï´Ù. ±×°ÍÀº x¿¡ µé¾î°¡ ÀÖ°ÚÁÒ. ´ÙÀ½ °ÍÀ» º¸ÁÒ. getTopÀº ¸Å°³º¯¼ö°¡ ¾ø½À´Ï´Ù. ¸Å°³º¯¼ö¸¦ ÁÖÁö ¾Ê¾Æµµ ÀÏÀ» ÇÏÁö¸¸ ÀÌ ¸Þ¼µå´Â ³»ºÎ¿¡¼ ¹º°¡¸¦ ¸®ÅÏÇϰí ÀÖ½À´Ï´Ù.
setMyTop¸Þ¼µå´Â ¸Å°³º¯¼ö x¸¦ ÀÌ¿ëÇÏ¿© ¿ÜºÎ¿¡¼ µé¾î¿À´Â µ¥ÀÌÅ͸¦ ³Ñ°Ü¹Þ¾Æ¼ Ŭ·¡½º ³»ºÎÀÇ ¸â¹ö Çʵ忡 ³Ö¾îÁÖ°í ÀÖ½À´Ï´Ù. ±×¸®°í getTopÀº returnÀ̶ó´Â Ư¼öÇÑ ¸Þ¼µåÀÇ ±â¹ýÀ» ÀÌ¿ëÇÏ¿© ¿ÜºÎ·Î ´øÁ®ÁÖ°í ÀÖ½À´Ï´Ù. ±×¸®°í Test5µ¥ÀÌÅÍŸÀÔÀº ¸Þ¸ð¸®°¡ »ý¼ºµÈ ÈÄ public¸Þ¼µå 2°³¸¦ »ç¿ëÇÏ¿© ³»ºÎÀÇ private¸â¹öÇʵ忡 °ªÀ» ³Ö°í ±×¸®°í °ªÀ» ¹Þ¾Æ³»´Â ¿ªÇÒÀ» ¼öÇàÇϰí ÀÖ½À´Ï´Ù.
3.6.3 °á·Ð
private¸â¹öÇʵ忡 Á÷Á¢ Á¢±ÙÀ» ÇÒ ¼ö ¾ø±â ¶§¹®¿¡ ¿ÜºÎ·ÎºÎÅÍ µé¾î¿À´Â µ¥ÀÌÅ͸¦ ¸Å°³º¯¼ö¸¦ ÅëÇØ¼ ³»ºÎÀÇ ¸â¹ö º¯¼ö¿¡ Àü´ÞÇØ ÁÖ¾ú½À´Ï´Ù. ¿ÜºÎ·Î ³»º¸³¾ ¶§´Â ¸Þ¼µåÀÇ ¸®ÅÏÀ» ÅëÇØ¼ Àü´ÞÇÏ¿´½À´Ï´Ù. ÀÌ·¸°Ô ÇÑ´Ù¸é private¸â¹ö º¯¼öÀÇ Á¢±ÙÀº ¾ÆÁÖ ¿ì¾ÆÇÏ°Ô ÇØ°á µÇ¾ú½À´Ï´Ù. ±×·±µ¥ ÀÌ ºÎºÐ¿¡¼ ÀÌ·± Áú¹®ÀÌ ³ª¿Ã ¼ö ÀÖÀ» °Ì´Ï´Ù. ¾î¶»°Ô public ¸Þ¼µå´Â private¸â¹öÇʵ带 ¹Ù·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï±î¶ó´Â Áú¹®ÀÌ ¾Æ´Ò±î¿ä. ±×°ÍÀº ¾ÆÁÖ ´Ü¼øÇÑ ´ë´äÀÌ ÀÖ½À´Ï´Ù. ÀÏ´Ü Å¬·¡½º³»ÀÇ ¸â¹ö´Â private pubicµûÁöÁö ¾Ê½À´Ï´Ù. ±×¸®°í ¸â¹ö³¢¸®´Â °øÀ¯°¡ °¡´ÉÇÕ´Ï´Ù. ±×·¡¼ ÀÌ·± ¸»À» ÇÑÀûÀÌ ÀÖ½À´Ï´Ù. private°ú publicÀÇ Á¢±ÙÁ¦¾î´Â Á¡(.)Âï°í Á¢±ÙÀÇ ¹®Á¦ÀÌ´Ù¶ó´Â ¸» ±â¾ï ÇϽôÂÁö¿ä.
µðÀÚÀΟÀÓ°ú ½ÇÇàŸÀÓÀº ¹Ýµå½Ã ±¸ºÐÁö¾î¾ß ÇÑ´Ù¶ó´Â ¸»À» ¾ð±ÞÇÑÀûÀÌ ÀÖ½À´Ï´Ù. »õ·Î¿î µ¥ÀÌÅÍŸÀÔÀ» ¸¸µå´Â ¼ø°£Àº Ŭ·¡½º µðÀÚÀΟÀÓÀÔ´Ï´Ù. ±×¸®°í ¸¸µé¾îÁø µ¥ÀÌÅÍŸÀÔ¿¡ º¯¼ö¸¦ ÁöÁ¤ÇÏ°í ¸Þ¸ð¸®¸¦ »ý¼ºÇÏ¿© »ç¿ëÇÏ´Â °ÍÀº ½ÇÇàŸÀÓÀÔ´Ï´Ù. ¾ÆÁÖ Áß¿äÇÑ ¹®Á¦¶ó°í ÀÌ¹Ì ÁöÀûÇÑ ¹Ù°¡ ÀÖ½À´Ï´Ù. À̰ÍÀº Á¢±ÙÁ¦¾î¸¦ ÇÒ ¼ö ÀÖ´Â ½ÃÁ¡ÀÌ ¾ðÁ¦ÀÎÁö¸¦ ÆÇ´Ü ÇÒ ¼ö ÀÖ½À´Ï´Ù.
jabookÀúÀÚ¸íÇÔ |
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù1ºÎ ÀúÀÚ:ÃÖ¿µ°ü |