¹è¿Àº °´Ã¼ÀÔ´Ï´Ù. ¹è¿ÀÇ À̸§Àº ÂüÁ¶°ªÀÔ´Ï´Ù. ¹è¿ÀÌ ÂüÁ¶°ªÀ̶ó¸é °°Àº ÇüÀÇ ¹è¿¿¡ ´Ù¸¥ ¹è¿À» ÇÒ´çÇÑ´Ù¸é °°Àº ¸Þ¸ð¸®¸¦ ÂüÁ¶ÇÏ°Ô µÉ °ÍÀÔ´Ï´Ù. ÀÌ´Â °´Ã¼º¯¼öµéÀÇ ±âº»ÀûÀΠƯ¡ÀÌ¸ç ¹è¿µµ ±× ¿¹¿Ü´Â ¾Æ´Õ´Ï´Ù. ´ÙÀ½Àº ¹è¿ÀÌ ÂüÁ¶¶ó´Â °ÍÀ» Áõ¸íÇØ ÁÖ´Â ¿¹Á¦ÀÔ´Ï´Ù.
¹è¿ÀÇ Æ¯Â¡
n ¹è¿Àº °´Ã¼´Ù
n ¹è¿ÀÇ À̸§Àº ÂüÁ¶°ªÀÌ´Ù.
ArrayRefMain.java(¹è¿ÀÌ ÂüÁ¶°ªÀ̶ó´Â Áõ°Å) |
public class ArrayRefMain{ public void print(String arrayname, int index, int value){ System.out.print(" arrayname["+index+"]:" + value ); } public static void main(String[] args){ ArrayRefMain ar = new ArrayRefMain(); int[] mydream = new int[]{5, 4, 6, 9, 7, 9}; int[] myref1 = mydream; int[] myref2 = myref1; mydream[0]=1; mydream[1]=1; myref1[2] =2; myref1[3]=3; myref2[4]=4; myref2[5]=5; for(int i=0; i<6; i++){ ar.print("mydream",i, mydream[i]); ar.print("myref1", i, myref1[i]); ar.print("myref2", i, myref2[i]); System.out.println(); } } } |
C:\examples\6. Array>javac ArrayRefMain.java C:\examples\6. Array>java ArrayRefMain arrayname[0]:1 arrayname[0]:1 arrayname[0]:1 arrayname[1]:1 arrayname[1]:1 arrayname[1]:1 arrayname[2]:2 arrayname[2]:2 arrayname[2]:2 arrayname[3]:3 arrayname[3]:3 arrayname[3]:3 arrayname[4]:4 arrayname[4]:4 arrayname[4]:4 arrayname[5]:5 arrayname[5]:5 arrayname[5]:5 |
À§¿¡¼ ¿ì¸®´Â 3°³ÀÇ intÇü¹è¿À» º¼ ¼ö ÀÖ½À´Ï´Ù.
n int[] mydream = new int[]{5, 4, 6, 9, 7, 9};
n int[] myref1 = mydream;
n int[] myref2 = myref1;
mydreamÀ» myref1¿¡ ÇÒ´çÇϰí myref1À» myref2¿¡ ÇÒ´çÇÏÁö¸¸, ±âº»ÀûÀ¸·Î ÂüÁ¶ÀÇ ¹æ¹ýÀ» µû¸£°í Àֱ⠶§¹®¿¡ ¸Þ¸ð¸®´Â ÇϳªÀ̰í ÇϳªÀÇ ¸Þ¸ð¸®¸¦ ÂüÁ¶ÇÏ´Â º¯¼ö´Â 3°³°¡ µÇ´Â °ÍÀÔ´Ï´Ù. À§ÀÇ ÂüÁ¶¹æ¹ýÀº ¾Æ·¡ÀÇ ±×¸²°ú °°Àº ±¸Á¶·Î ³ªÅ¸ ³¾ ¼ö ÀÖ½À´Ï´Ù.
¹è¿ º¯¼öµéÀÌ ¸ðµÎ ÇϳªÀÇ ¸Þ¸ð¸®¸¦ ÂüÁ¶Çϰí Àֱ⠶§¹®¿¡ ¾Æ¹«¸® ÇÒ´çÀ» ÇÏ¿©µµ °ªÀº µ¿ÀÏÇÑ °ªÀÌ ³ª¿Ã °ÍÀÔ´Ï´Ù. ÀÌ·¯ÇÑ ÀÌÀ¯¿¡¼ ¹è¿ÀÇ º¹»ç¶ó´Â ºÎºÐÀÌ ¾ÆÁÖ Áß¿äÇÏ°Ô ´Ù·ç¾îÁö´Â °ÍÀÔ´Ï´Ù. À̰ÍÀº ´ÙÀ½°ú °°ÀÌ Ç¥ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù.
n mydream[0] == myref1[0] == myref2[0] ¸ðµÎ°°´Ù.
n mydream[1] == myref1[1] == myref2[1] ¸ðµÎ°°´Ù.
n mydream[2] == myref1[2] == myref2[2] ¸ðµÎ°°´Ù.
n mydream[3] == myref1[3] == myref2[3] ¸ðµÎ°°´Ù.
n mydream[4] == myref1[4] == myref2[4] ¸ðµÎ°°´Ù.
n mydream[5] == myref1[5] == myref2[5] ¸ðµÎ°°´Ù.
ÁÖÀÇ ÇÒ Á¡
n ¹è¿À» ÇÒ´çÇÒ ¶§ µ¥ÀÌÅÍ Å¸ÀÔÀº °°¾Æ¾ß ÇÑ´Ù.
n ´ç¿¬ÇÑ ¼Ò¸®ÁÒ. À§ÀÇ º¯¼öµéÀº µ¥ÀÌÅÍ Å¸ÀÔÀÌ ¸ðµÎ int[]ÀÔ´Ï´Ù.
n int[] mydream, int[] myhref1, int[] myhyref2
ÀϹÝÀûÀÎ °´Ã¼ ¶ÇÇÑ ±âº»ÀûÀ¸·Î ÂüÁ¶¸¦ ¿øÄ¢À¸·Î Çϰí ÀÖ½À´Ï´Ù. ÀϹÝÀûÀÎ °´Ã¼ÀÇ ÂüÁ¶¿¡ ´ëÇÑ °£´ÜÇÑ ¿¹¸¦ Çϳª »ìÆì º¸°í ´ÙÀ½À¸·Î ³Ñ¾î°¡µµ·Ï ÇϰڽÀ´Ï´Ù.
LGTVMain.java |
class LGTV{ private int volume; public LGTV(int v){ volume = v; } public int getVolume(){ return volume; } } public class LGTVMain{ public static void main(String[] args){ LGTV t = new LGTV(100); System.out.println("LGTV tÀÇ ±âº»º¼·ý:" + t.getVolume()); System.out.println("LGTV°´Ã¼ tÀÇ ÇØ½ÃÄÚµå:" + t.hashCode()); LGTV f = t; System.out.println("TV fÀÇ ±âº»º¼·ý:" + f.getVolume()); System.out.println("LGTV°´Ã¼ fÀÇ ÇØ½ÃÄÚµå:" + f.hashCode()); } } |
C:\examples\6. Array>javac LGTVMain.java C:\examples\6. Array>java LGTVMain LGTV tÀÇ ±âº»º¼·ý:100 LGTV°´Ã¼ tÀÇ ÇØ½ÃÄÚµå:2083945 TV fÀÇ ±âº»º¼·ý:100 LGTV°´Ã¼ fÀÇ ÇØ½ÃÄÚµå:2083945 |
À§ÀÇ ¿¹¿¡¼ ¹è¿°ú ¶È °°Àº ¹æ½ÄÀ¸·Î °´Ã¼¸¦ ÇÒ´çÇϰí ÀÖ½À´Ï´Ù.
n LGTV t = new LGTV(100);
n LGTV f = t;
°´Ã¼µµ ÂüÁ¶¸¦ ¿øÄ¢À¸·Î Çϰí Àֱ⠶§¹®¿¡ t¿Í f´Â °°Àº ¸Þ¸ð¸®¸¦ ÂüÁ¶ÇÏ´Â °ÍÀÔ´Ï´Ù. ±×·¡¼ °´Ã¼ÀÇ hashCodeµµ °°Àº °ÍÀÔ´Ï´Ù. hashCode´Â °¡»ó¸Ó½Å³»ÀÇ Å¬·¡½ºÀÇ IDÁ¤µµ µË´Ï´Ù. ´Ù ¾Æ´Â »ç½ÇÀÌÁö¸¸, °´Ã¼¸¦ ÇÒ´ç ÇÒ ¶§ ÇüÀÌ ´Ù¸¥ °æ¿ì´Â ¾÷ij½ºÆÃÀ̳ª °Á¦ÀûÀÎ ´Ù¿îij½ºÆÃ À̿ܿ¡´Â ¾ø½À´Ï´Ù. »ó¼Ó±¸Á¶ÀÇ ¾÷, ´Ù¿îij½ºÆÃÀ̿ܿ¡ °´Ã¼ÀÇ ÇüÀÌ ´Ù¸£´Ù¸é ±×°ÍÀº °ÅÀÇ 99%´Â À߸ø ÇÒ´ç µÈ °ÍÀ̶ó°í º¸¸é µÉ °ÍÀÔ´Ï´Ù.
jabookÀúÀÚ¸íÇÔ |
Á¦¸ñ:¼Ò¼³°°ÀºÀÚ¹Ù2ºÎ ÀúÀÚ:ÃÖ¿µ°ü |