¸Å°³º¯¼ö·Î ¹è¿À» »ç¿ëÇÏ´Â °æ¿ì°¡ ¾ÆÁÖ ¸¹½À´Ï´Ù. ÇÏÁö¸¸ ±âº»ÀûÀ¸·Î ¸Å°³º¯¼öµµ ÀÏÁ¾ÀÇ °´Ã¼ º¯¼ö³¢¸®ÀÇ ÇÒ´çÀ̱⠶§¹®¿¡ ÂüÁ¶¸¦ ±âº»À¸·Î ÇϰÚÁÒ. ´ç¿¬ÇÑ °ÍÀÔ´Ï´Ù. ÇÏÁö¸¸ ¸Å°³º¯¼ö¶ó´Â Ãø¸é¿¡¼ °£´ÜÇÑ ¿¹Á¦¸¸À» ´Ù·ç¾î º¸µµ·Ï ÇϰڽÀ´Ï´Ù.
ParamArrayMain.java |
class ParamArray{ private int[] des; public int[] copyArray(int[] source){ this.des = new int[source.length]; for(int i=0; i<source.length; i++) this.des[i] = source[i]; return this.des; } public void copyArray(int[] source, int[] target){ for(int i=0; i<source.length; i++) target[i] = source[i]; } } public class ParamArrayMain{ public static void main(String[] args){ int[] arr = new int[]{1,2,3,4,5}; int[] tar = new int[5]; ParamArray p = new ParamArray(); int[] result = p.copyArray(arr); for(int i=0; i<result.length; i++){ System.out.println("result["+i+"]:" + result[i]); } p.copyArray(arr, tar); for(int i=0; i<tar.length; i++){ System.out.println("tar["+i+"]:" + tar[i]); } } } |
C:\examples\6. Array>javac ParamArrayMain.java C:\examples\6. Array>java ParamArrayMain tar[0]:1 tar[1]:2 tar[2]:3 tar[3]:4 tar[4]:5 result[0]:1 result[1]:2 result[2]:3 result[3]:4 |
ÀÌ ¿¹Á¦´Â ParamArray³»ÀÇ Overloading¸Þ¼µå 2°³¸¦ ±¸ºÐÇÏ´Â °ÍÀÌ Áß¿äÇÕ´Ï´Ù. ù¹øÂ° ¸Þ¼µåºÎÅÍ Çѹø º¸µµ·Ï ÇϰڽÀ´Ï´Ù.
this.des = new int[source.length]; for(int i=0; i<source.length; i++) return this.des; } |
ÀÌ ¸Þ¼µå´Â ¾ÆÁÖ ´Ü¼øÇÕ´Ï´Ù. ¿ÜºÎ¿¡¼ ¸Å°³º¯¼ö·Î µé¾î¿À´Â ¹è¿source¸¦ ¸â¹öÇʵåÀÎ ¹è¿des·Î º¹»ç ÇÑ ÈÄ, À̰ÍÀ» ´Ù½Ã ¸®ÅÏÇÏ´Â ¸Þ¼µåÀÔ´Ï´Ù. ´Ü¼øÇÏÁø ¾Ê³×¿ä.
¿ÜºÎ¿¡¼ ¹è¿arrÀ» ³Ñ°ÜÁÙ ¶§ °´Ã¼ÀÇ À̸§À» ³Ñ±âµí ¹è¿ÀÇ À̸§¸¸À» ³Ñ°ÜÁÖ°í ÀÖ½À´Ï´Ù. ¹è¿arrÀº ¸Å°³º¯¼öÀÎ ¹è¿source·Î ÇÒ´çµÇ°í, ¹è¿source¸¦ ÀÌ¿ëÇÏ¿© ³»ºÎ¿¡¼ ¹è¿À» »ý¼ºÇÑ ÈÄ º¹»çÇÏ¿© ¸®ÅÏÇϰí ÀÖ½À´Ï´Ù. ±×¸®°í copyArray(arr)¸Þ¼µå°¡ ¸®ÅÏÇÏ´Â °ªÀ» ¹è¿result°¡ ³Ñ°Ü ¹Þ´Â °ÍÀÔ´Ï´Ù. ´ÙÀ½Àº copyArray(int[] source)¸¦ È£ÃâÇÏ´Â ºÎºÐÀÔ´Ï´Ù.
n int[] result = p.copyArray(arr);
À§ÀÇ ¼ø¼¸¦ ÇϳªÇϳª Âɰ³¼ º¸¸é ´ÙÀ½°ú °°½À´Ï´Ù.
1. ÀÏ´Ü sourceÀÇ Å©±â¸¸Å ¹è¿des¸¦ »ý¼ºÇÕ´Ï´Ù.(º¹»çÇÏ·Á¸é »çÀÌÁî°¡ °°¾Æ¾ßÁÒ)
2. Çϳª¾¿ source³»ÀÇ º¯¼öÀÇ °ªµéÀ» ³Ñ°Ü ¹Þ½À´Ï´Ù.(º¯¼öÀÇ ÇÒ´çó·³)
for(int i=0; i<source.length; i++)
this.des[i] = source[i];
3. µ¥ÀÌÅ͸¦ ³Ñ°Ü ¹Þ°í ³ª¸é des¸¦ ¸®ÅÏÇÏ°Ô µË´Ï´Ù.(¹è¿ÀÇ À̸§¸¸À» ¸®ÅÏ)
return this.des
ÀÌ ¸Þ¼µåÀÇ °á°ú¿¡¼ ´ÙÀ½°ú °°Àº °á·ÐÀ» ¾òÀ» ¼ö ÀÖ´Ù.
n arr¿Í source´Â °°Àº ÂüÁ¶°ªÀÌ´Ù.
n des¿Í result´Â °°Àº ÂüÁ¶°ªÀÌ´Ù.
µÎ ¹øÂ° ¸Þ¼µå´Â À̿ʹ ¾à°£ ´Ù¸¨´Ï´Ù. ¿ÜºÎ¿¡¼ ¿øº»¹è¿arr°ú º¹»çÇÒ °÷ÀÎ tar µÑ ´Ù ³Ñ°ÜÁÖ°í ÀÖ½À´Ï´Ù.
n p.copyArray(arr, tar);
Áï, Á¾À̸¦ º¹»ç¸¦ ÇÑ´Ù¸é ¿øº»°ú ºó Á¾À̸¦ °°ÀÌ ÁÖ´Â »ùÀÌÁÒ. À̰ÍÀº ¹è¿ÀÌ ÂüÁ¶ÀÇ ¿øÄ¢À» µû¸£°í Àֱ⠶§¹®¿¡ °¡´ÉÇÑ °ÍÀÔ´Ï´Ù. ÀÏ´Ü ¸Þ¼µå ³»ºÎ¸¦ Çѹø º¸½ÃÁÒ.
public void copyArray(int[] source, int[] target){ for(int i=0; i<source.length; i++) target[i] = source[i]; } |
ÀÌ ¸Þ¼µå´Â ÇÏ´Â ÀÏÀÌ °ÅÀÇ ¾ø½À´Ï´Ù. ¹è¿ µÎ°³¸¦ ÁÖ°í ¿ÜºÎ¿¡¼ ¸Þ¼µå¸¦ È£ÃâÇϰí ÀÖ½À´Ï´Ù. ±×¸®°í ¹è¿ ÀÚü°¡ ÂüÁ¶À̱⠶§¹®¿¡ mainÀÇ arr°ú ¸Þ¼µåÀÇ source´Â °°Àº ÂüÁ¶°ªÀ̸ç tar°ú target ¶ÇÇÑ °°Àº ÂüÁ¶°ªÀÔ´Ï´Ù.
n arr¿Í source´Â °°Àº ÂüÁ¶°ªÀÌ´Ù.
n tar¿Í targetÀº °°Àº ÂüÁ¶°ªÀÌ´Ù.
ÂüÁ¶´Â ¾Ë°í º¸¸é ½¬¿îµ¥ ¼³¸íÇϱⰡ ±î´Ù·Ó±º¿ä. ¿©ÇÏÆ° Áö±Ý±îÁö 1Â÷¿ø ¹è¿ÀÇ ÂüÁ¶¿¡ ´ëÇÑ »çÇ×À» ¾Ë¾Æº¸¾Ò½À´Ï´Ù. ´ÙÀ½À¸·Î, 2Â÷¿ø ¹è¿ÀÇ ³»ºÎ¿¡¼ ÀÌ·ç¾îÁö´Â ÂüÁ¶¿¡ ´ëÇÏ¿© ¾Ë¾Æº¸µµ·Ï ÇϰڽÀ´Ï´Ù.
jabookÀúÀÚ¸íÇÔ |
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù2ºÎ ÀúÀÚ:ÃÖ¿µ°ü |