¼Ò¼³°°ÀºÀÚ¹Ù2ºÎ  Á¦6Àå ¹è¿­ Ä÷º¼Ç ¿­°ÅÀÚ  6.4.2 Ä÷º¼Ç·ùÀÇ Æ¯Â¡  

 

 

6.4.2 Ä÷º¼Ç·ùÀÇ Æ¯Â¡

ÀÚ¹Ù ¶óÀ̺귯¸®´Â °´Ã¼ÀúÀåÀ̶ó´Â Ãø¸é¿¡¼­ Ä÷º¼Ç À¯ÇüÀ» Á¦°øÇÕ´Ï´Ù. ÀÌ·¯ÇÑ À¯Çüµé¿¡´Â Vector, BitSet, Stack, Hashtable, LinkedListµîÀÌ ÀÖ½À´Ï´Ù. ÇöÀç Ä÷º¼Ç ÀÎÅÍÆäÀ̽º¸¦ »ç¿ëÇϴ Ŭ·¡½ºµéÀ» Ä÷º¼Ç·ù¶ó°í ºÎ¸£°í ÀÖ½À´Ï´Ù. ÀÌ Ä÷º¼Ç·ùÀÇ Æ¯Â¡Àº ¾Õ¿¡¼­µµ ¾ð±ÞÇßÁö¸¸ ¼öÁ¤, »èÁ¦, »ðÀÔ, °Ë»öÀÇ ±â´ÉÀ» °¡Áö°í ÀÖ½À´Ï´Ù. ±×¸®°í °¢°¢ÀÇ Ä÷º¼Ç·ùµéÀº Ŭ·¡½º¸¶´Ù ±¸ÇöµÇ¾îÁö´Â ¾Ë°í¸®ÁòÀÌ ´Ù¸¦ »Ó ÀüºÎ °°Àº ºÎ·ùµéÀÔ´Ï´Ù. ±¸ÇöµÇ´Â ¾Ë°í¸®ÁòÀ̶õ ´ëÃæ ÀڷᱸÁ¶ÀÇ LinkedList, Hash, Listµî°ú °°Àº ¾Ë°í¸®ÁòÀ» ÀǹÌÇÕ´Ï´Ù. ÀÌ·¯ÇÑ Â÷ÀÌÁ¡¸¸ ÀÖÀ» »ÓÀÌÁö º°´Ù¸¥ »ç¿ë»óÀÇ Â÷ÀÌÁ¡Àº ¾ø½À´Ï´Ù.

 

¹è¿­°ú ±¸ºÐÁþ´Â Ư¡Àº  µ¥ÀÌÅÍÀÇ »çÀÌÁ µ¿ÀûÀ¸·Î È®ÀåÇϰí, Ãà¼ÒÇÒ ¼ö ÀÖ´Ù´Â °ÍÀÔ´Ï´Ù. ¹è¿­Àº ÷ÀÚ·Î ¹è¿­À» »ý¼ºÇÏ°í ±×¸®°í, µ¥ÀÌÅ͸¦ ÇÒ´çÇÒ ¶§ Á¤È®ÇÏ°Ô Ã·ÀÚÀÇ ¹üÀ§ ³»¿¡¼­ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ¸¸¾à ¹è¿­ÀÇ ¹üÀ§¸¦ ¹þ¾î³­´Ù¸é Array Bound ExceptionÀ» ¹ß»ý½Ãŵ´Ï´Ù. ÇÏÁö¸¸ µ¥ÀÌÅ͸¦ »ðÀÔÀ» ÇßÀ» ¶§ Ä÷º¼Ç·ù´Â µ¿ÀûÀ¸·Î ¸Þ¸ð¸®¸¦ ´Ã¸³´Ï´Ù. À̰ÍÀÌ ¹è¿­°ú ±¸ºÐµÇ´Â °¡Àå Áß¿äÇÑ ¿ä¼ÒÀÔ´Ï´Ù.

 

°´Ã¼¸¦ ³Ö°í ´Ù½Ã °´Ã¼¸¦ ¾ò¾î ³¾ ¶§ ¹ß»ýÇÏ´Â ¿ø¸®´Â ÀÌÇØ ÇÒ Çʿ䰡 ÀÖ½À´Ï´Ù. ´ÙÀ½Àº CollectionÀÇ add¿Í toArray¿¡ °ü·ÃµÈ ¸Þ¼­µåÀÔ´Ï´Ù. Çѹø °üÂûÇØ º¸½Ã±â ¹Ù¶ø´Ï´Ù.

 

µ¥ÀÌÅ͸¦ ³ÖÀ» ¶§¿Í ¾òÀ» ¶§

n        ³ÖÀ» ¶§ : boolean add(Object element)

¸Å°³º¯¼ö·Î ObjectÇüÀ» ¿ä±¸ÇÑ´Ù. ¸ðµç °´Ã¼¸¦ ¸Å°³º¯¼ö·Î »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÀÌ´Â ¸Å°³º¯¼öÀÇ ÇÒ´ç ºÎºÐ¿¡ UpcastingÀÌ ÀϾ±â ¶§¹®ÀÌ´Ù.

n        ¾òÀ» ¶§ : Object[] toArray()

»ðÀÔÇÒ ¶§ ObjectÇüÀ¸·Î Çüº¯È¯ÀÌ µÇ¾ú±â ¶§¹®¿¡ ObjectÇüÀÇ ¹è¿­À» ¸®ÅÏÇÑ´Ù. À̰ÍÀ» Á¦´ë·Î »ç¿ëÇÏ·Á¸é ¿ø·¡ÀÇ ÇüÀ¸·Î DowncastingÇÏ¿©¾ß ÇÑ´Ù.

 

add¿¡ µ¥ÀÌÅ͸¦ ³ÖÀ» ¶§ ¸Å°³º¯¼öÀÇ ÇüÀº ObjectÇüÀÔ´Ï´Ù. ÀÏ´Ü ObjectÇüÀ¸·Î µÇ¾î ÀÖ°í, ¸ðµç Ŭ·¡½º´Â ÃÖ»óÀ§Å¬·¡½ºÀÎ Object¸¦ »ó¼Ó ¹Þ±â ¶§¹®¿¡ °´Ã¼¶ó¸é ¾î´À ³ðÀ̵çÁö add¿¡ µé¾î°¥ ¼ö Àִ Ư±ÇÀÌ ÀÖ½À´Ï´Ù. À̰͵µ ÇϳªÀÇ Upcasting±â¹ýÀÌÁÒ. ÇÏÁö¸¸ ±âº» µ¥ÀÌÅÍÇüÀº ÇϳªÀÇ °´Ã¼·Î¼­ Ãë±ÞÇÏÁö ¾Ê±â ¶§¹®¿¡ WrapperŬ·¡½º¸¦ ÀÌ¿ëÇÏ¿© °´Ã¼·Î ¸¸µç ÈÄ »ðÀÔÇÏ´Â ¹æ¹ýÀ» ÀÌ¿ëÇÕ´Ï´Ù.

 

±×¸®°í µ¥ÀÌÅ͸¦ »©³¾ ¶§´Â ObjectÇüÀ¸·Î ´øÁ®ÁÖ°Ô µË´Ï´Ù. ¸¸¾à ¸®ÅÏ µÇ¾îÁø ObjectÇüÀÇ °´Ã¼¸¦ »ç¿ëÇÏ·Á¸é ¿ø·¡ÀÇ ÇüÀ¸·Î DowncastingÀ» ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù. Upcasting°ú Downcasting¿¡ ´ëÇØ¼­ Çò°¥¸®½Ã¸é 5ÀåÀ» Âü°í ÇϽñ⠹ٶø´Ï´Ù.



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