17-1.Ä÷º¼Ç ÇÁ·¹ÀÓ¿öÅ©

17-1-1.Ä÷º¼Ç

ÇÁ·Î±×·¥ ±Ô¸ð°¡ Ä¿Áö¸é °ü¸®ÇÒ Á¤º¸°¡ ¸¹¾ÆÁø´Ù. ´Ü¼ø º¯¼ö³ª °´Ã¼·Î´Â Á¤º¸¸¦ È¿À²ÀûÀ¸·Î ´Ù·ê ¼ö ¾ø¾î ´õ Á¤±³ÇÑ ÀÚ·á ±¸Á¶¿Í ¾Ë°í¸®ÁòÀÌ µ¿¿øµÈ´Ù. ´ë±Ô¸ðÀÇ ÀڷḦ ±×·ìÀ¸·Î ¹­¾î °ü¸®ÇÏ´Â °´Ã¼¸¦ Ä÷º¼ÇÀ̶ó°í ÇÏ¸ç ´Ù¼öÀÇ º¯¼ö¸¦ ´ã´Â´Ù°í Çؼ­ ÄÁÅ×À̳ʶó°íµµ ºÎ¸¥´Ù.

±âº» Ä÷º¼ÇÀÎ ¹è¿­¸¸ Çصµ ´ÜÀÏ º¯¼öº¸´Ù È°¿ë¼ºÀÌ ¿ùµîÈ÷ ³ô´Ù. ±×·¯³ª ±¸Á¶°¡ ´Ü¼øÇÏ°í °íÁ¤ Å©±â¿©¼­ °¡º¯ Å©±âÀÇ ÀڷḦ ´Ù·ê ¼ö ¾ø´Ù´Â ¾àÁ¡ÀÌ ÀÖ´Ù. Ä÷º¼ÇÀº ¹è¿­°ú À¯»çÇÏÁö¸¸ ½ÇÇàÁß¿¡ ¸Þ¸ð¸®¸¦ ÀçÇÒ´çÇÏ¿© °¡º¯ÀûÀÎ ÀڷḦ ÀúÀåÇÒ ¼ö ÀÖÀ¸¸ç °ü¸® ¾Ë°í¸®Áò±îÁö Æ÷ÇÔÇÑ´Ù.

ÀÚ·á ±¸Á¶¿Í ¾Ë°í¸®ÁòÀº ½Ç¹« È°¿ëµµ°¡ ³ô¾Æ ¹Ýµå½Ã ÀÍÇô¾ß ÇÏ´Â Áß¿äÇÑ ±â¼úÀÌ´Ù. ¿¾³¯¿¡´Â °³¹ßÀÚ°¡ ÇÁ·ÎÁ§Æ®¿¡ ¸Â°Ô ÀÚ·á ±¸Á¶¸¦ Á÷Á¢ ¸¸µé°í ÃÖÀûÈ­Çؼ­ »ç¿ëÇßÁö¸¸ ¿äÁòÀº ¼º´É, È¿À², ½Å·Ú¼ºÀ» ¸ðµÎ ¸¸Á·ÇÏ´Â ¶óÀ̺귯¸®°¡ ¸¹¾Æ »ç¿ë¹ý¸¸ ÀÍÇôµµ ÃæºÐÇÏ´Ù.

ÀÚ¹ÙÀÇ ÀÚ·á ±¸Á¶ Ŭ·¡½º´Â ¸î ¹øÀÇ Çõ½ÅÀ» °ÅÃÆ´Ù. ÃʱâÀÇ Vector, HashTable, Stack Ŭ·¡½º´Â ¸ÖƼ ½º·¹µå¿¡ Ãë¾àÇÏ°í ÀÏ°ü¼ºÀÌ ¾ø¾î Æó±âµÇ¾ú´Ù. JDK 1.2´Â ÀÏ°ü¼ºÀ» È®º¸ÇÑ Ä÷º¼Ç ÇÁ·¹ÀÓ¿öÅ©¸¦ µµÀÔÇÏ¿´À¸¸ç JDK 1.5´Â Á¦³×¸¯À» Àû¿ëÇÏ¿© ¾ÈÀü¼º±îÁö È®º¸Çß´Ù.

ÇöÀç´Â ¾ÈÁ¤È­µÈ Á¦³×¸¯ Ä÷º¼Ç ÇÁ·¹ÀÓ¿öÅ©¸¦ »ç¿ëÇÑ´Ù. ÇÁ·¹ÀÓ¿öÅ©¶ó°í ºÎ¸£´Â ÀÌÀ¯´Â Á¶Á÷ÀûÀÌ°í ¹ü¿ëÀûÀ¸·Î ¼³°èÇß´Ù´Â ¶æÀÌ´Ù. È®À强À» ÃæºÐÈ÷ °í·ÁÇß°í ¾Ë°í¸®Áò±îÁö Æ÷°ýÇÑ´Ù. À¯Æ¿¸®Æ¼ ¼öÁØÀ» ³Ñ¾î ¶óÀ̺귯¸®º¸´Ù ÇÑ±Þ À§¶ó´Â ¶æÀÌ´Ù. ÇÁ·¹ÀÓ¿öÅ©´Â ´ÙÀ½ ¼¼ °¡Áö·Î ±¸¼ºµÈ´Ù.

 

l  ÀÎÅÍÆäÀ̽º : Ä÷º¼ÇÀ» Ç¥ÇöÇÏ´Â Ãß»óÀûÀÎ ±â´ÉÀ» Á¤ÀÇÇÑ´Ù. ±â´ÉÀÇ ¸ñ·Ï¸¸ Á¤ÀÇÇÒ »Ó ±¸ÇöÀº Æ÷ÇÔÇÏÁö ¾Ê¾Æ Ä¿½ºÅÒ Ä÷º¼Ç Á¦ÀÛ±îÁö Áö¿øÇÑ´Ù.

l  ±¸Çö : Ä÷º¼ÇÀÇ ±âº»ÀûÀÎ ±â´ÉÀ» ±¸ÇöÇÏ¸ç ½Ç¹«¿¡¼­ °¡Àå ¸¹ÀÌ »ç¿ëÇÏ´Â ºÎºÐÀÌ´Ù. ±¸Çö¸¸À¸·Îµµ ÃæºÐÈ÷ ½Ç¿ëÀûÀÌÁö¸¸ »ó¼Ó¹Þ¾Æ È®ÀåÇÒ ¼öµµ ÀÖ´Ù.

l  ¾Ë°í¸®Áò : Á¤·Ä, °Ë»ö µî Ä÷º¼Ç¿¡ ´ëÇÑ ½Ç¿ëÀûÀÎ ¿¬»êÀ» Á¦°øÇÑ´Ù. ´ÙÇüÀûÀ¸·Î ¼³°èµÇ¾î ÇϳªÀÇ ¸Þ¼­µå°¡ ¿©·¯ Á¾·ùÀÇ Ä÷º¼Ç¿¡ ÀÏ°üµÇ°Ô Àû¿ëµÈ´Ù.

 

ÀÚ·á °ü¸®¿Í ¾Ë°í¸®ÁòÀº ÇÁ·¹ÀÓ¿öÅ©°¡ Ã¥ÀÓÁö¹Ç·Î °³¹ßÀÚ´Â ÇÁ·Î±×·¥ÀÇ °íÀ¯ÇÑ Äڵ忡 Àü³äÇÒ ¼ö ÀÖ´Ù. ÃÖ°íÀÇ °³¹ßÀÚµéÀÌ ½ÉÇ÷À» ±â¿ï¿© ÀÛ¼ºÇß°í ÇöÀå¿¡¼­ ¼ö½Ê³â°£ °ËÁõ ¹× °³¼±ÇÏ¿© ¼º´ÉÀÌ Å¹¿ùÇÏ¸ç ½Å·Ú¼ºµµ ³ô´Ù. ÀÎÅÍÆäÀ̽º ´Ü°èºÎÅÍ °èÃþÀ» Àß ±¸¼ºÇÏ¿© ±¸Á¶ÀûÀ¸·Î ¿ì¼öÇÏ´Ù.

¿ö³« Àß ¸¸µç ÇÁ·¹ÀÓ¿öÅ©¿©¼­ ´ëÃæ ¹è¿ö ½Ç¹«¿¡ ¹Ù·Î ½á ¸Ô±â´Â ½±´Ù. ±×·¯³ª ±â´ÉÀÌ ¸¹Àº¸¸Å­ º¹ÀâÇØ Å¬·¡½º °èÃþÀ» ÆľÇÇϴµ¥ ²Ï ¿À·£ ½Ã°£ÀÌ ¼Ò¿äµÇ¸ç Ä¿½ºÅÒ ÀÚ·á±îÁö ÀúÀåÇÒ Á¤µµ·Î ÀÚÀ¯ ÀÚÀç·Î È®ÀåÇÏ·Á¸é »ó´çÇÑ ³ë·ÂÀÌ ÇÊ¿äÇÏ´Ù. ¿©±â¼­´Â »ç¿ë¹ý À§ÁÖ·Î ¿¬±¸ÇØ º¸ÀÚ.

17-1-2.°èÃþµµ

ÀÚ¹ÙÀÇ Ä÷º¼Ç ÇÁ·¹ÀÓ¿öÅ©´Â java.util ÆÐÅ°Áö¿¡ ÀÎÅÍÆäÀ̽º¿Í Ãß»ó Ŭ·¡½º·Î ±¸¼ºµÈ º¹ÀâÇÑ °èÃþÀ¸·Î µÇ¾î ÀÖ´Ù. ºó¹øÈ÷ »ç¿ëµÇ´Â Ŭ·¡½º À§ÁÖ·Î Á¤¸®ÇØ º¸¸é ´ÙÀ½°ú °°´Ù.

ÀÌ °èÃþµµ¿¡¼­ µÕ±Ù »ç°¢ÇüÀ¸·Î µÈ °ÍÀº ÀÎÅÍÆäÀ̽ºÀ̸ç Ä÷º¼Ç °ü¸® ¸Þ¼­µåÀÇ ¸ñ·ÏÀ» Á¦°øÇÑ´Ù. À̸§ÀÌ Abstract·Î ½ÃÀÛÇϴ Ŭ·¡½º´Â Ä÷º¼ÇÀÇ ±âº» ±¸ÇöÀ» Á¦°øÇÑ´Ù. ´©°¡ ±¸ÇöÇϳª ¶È°°À» ¼ö¹Û¿¡ ¾ø´Â »·ÇÑ Äڵ带 ¹Ì¸® ÀÛ¼ºÇØ µÎ¾î Ä¿½ºÅÒ Ä÷º¼Ç ±¸ÇöÀ» Áö¿øÇÑ´Ù.

Ä÷º¼ÇÀ» Á¦´ë·Î »ç¿ëÇÏ·Á¸é ÀÌ °èÃþ ±¸Á¶ÀÇ °¢ ÀÎÅÍÆäÀ̽º¿Í Ŭ·¡½º°¡ ¾î¶² ±â´ÉÀ» Á¦°øÇÏ´ÂÁö ¼ø¼­´ë·Î »ìÆ캸°í ´ëÃæÀÇ ¸ñ·ÏÀ» ÆľÇÇØ¾ß ÇÑ´Ù. ¾çÀÌ ¸¹¾Æ ½Ã°£ÀÌ ¿À·¡ °É¸®Áö¸¸ ·¹ÆÛ·±½º¸¦ ÅëÇØ °èÃþ ±¸Á¶¸¦ ÇÑ ¹øÂë Äf¾î º¸¸é Àüü ±¸Á¶¸¦ ÆľÇÇϴµ¥ ¸¹Àº µµ¿òÀÌ µÈ´Ù.

½ÇÁ¦ ÇÁ·ÎÁ§Æ®¿¡ »ç¿ëµÇ´Â Ä÷º¼ÇÀº À½¿µÀ¸·Î Ç¥½ÃÇØ ³õÀº ¸»´Ü¿¡ Àִ Ŭ·¡½ºÀÌ´Ù. Ä¿½ºÅÒ Ä÷º¼ÇÀ» ¸¸µéÁö ¾Ê´Â ÇÑ ÀÌ Å¬·¡½ºÀÇ »ç¿ë ¹æ¹ý¸¸ Á¦´ë·Î ÀÍÇôµµ Å« ¹«¸®´Â ¾ø´Ù. Ä÷º¼ÇÀº °ü¸®ÇÏ´Â ÀÚ·áÀÇ Æ¯¼º¿¡ µû¶ó ´ÙÀ½°ú °°ÀÌ ºÐ·ùÇÑ´Ù.

 

l  ¸®½ºÆ® : ¼ø¼­°¡ ÀÖ°í Áߺ¹ °¡´ÉÇÏ´Ù.

l  ÁýÇÕ : ¼ø¼­°¡ ¾ø°í Áߺ¹ ºÒ°¡´ÉÇÏ´Ù.

l  ¸Ê : Å°¿Í °ªÀÇ ½ÖÀ» ÀúÀåÇÑ´Ù. Å°´Â Áߺ¹µÉ ¼ö ¾øÁö¸¸ °ªÀº Áߺ¹µÉ ¼ö ÀÖ´Ù.

l  Å¥ : ÀÓ½ÃÀûÀÎ °ªÀ» ÀúÀåÇÏ¸ç »ðÀÔ, ÃßÃâ ±â´ÉÀ» Á¦°øÇÑ´Ù.

 

ÀúÀåÇÒ ÀÚ·áÀÇ Æ¯¼º¿¡ µû¶ó Àû´çÇÑ Ä÷º¼ÇÀ» ¼±ÅÃÇؼ­ »ç¿ëÇÑ´Ù. ÀÌ Áß ¸®½ºÆ®ÀÇ »ç¿ë ºóµµ°¡ °¡Àå ³ôÀ¸¸ç ±× Áß¿¡¼­µµ µ¿Àû ¹è¿­¿¡ ÇØ´çÇÏ´Â ArrayList°¡ ¾ÐµµÀûÀ¸·Î ¸¹ÀÌ »ç¿ëµÈ´Ù.

17-1-3.Collection

Ä÷º¼Ç ÇÁ·¹ÀÓ¿öÅ©ÀÇ ·çÆ®´Â Collection ÀÎÅÍÆäÀ̽ºÀÌ¸ç ¸ðµç Ä÷º¼ÇÀÌ °¡Áö´Â ÀϹÝÀûÀÎ ±â´ÉÀÇ ¸ñ·ÏÀ» ¼±¾ðÇÑ´Ù. ±¸ÇöÀº ¾ø°í ¸Þ¼­µå ¼±¾ð¹®¸¸ ÀÖÀ¸¸ç ¿ä¼ÒÀÇ Áߺ¹ ¿©ºÎ, ¼ø¼­ À¯Áö ¿©ºÎ¿¡ µû¶ó ÇÏÀ§ÀÇ Å¬·¡½º°¡ Àû´çÈ÷ ±¸ÇöÇÑ´Ù.

ÀÎÅÍÆäÀ̽ºÀÇ ¸Þ¼­µå´Â Ä÷º¼ÇÀ» °ü¸®ÇÏ´Â ±â´ÉÀÇ ¸ñ·ÏÀÌµÇ ¸ðµç ¼­ºê Ŭ·¡½º°¡ ¹Ýµå½Ã ±¸ÇöÇØ¾ß ÇÏ´Â °ÍÀº ¾Æ´Ï´Ù. ¿É¼ÇÀ¸·Î ºÐ·ùµÈ ÀϺΠ°í±Þ ±â´ÉÀº ²À ÇÊ¿äÄ¡ ¾Ê´Ù¸é »ý·«Çصµ »ó°ü¾ø´Ù. ´Ù¸¸ Ãß»ó ¸Þ¼­µå ±¸ÇöÀº ¹®¹ý»ó ¿ä±¸µÇ¹Ç·Î Áö¿øÇÏÁö ¾Ê´Â´Ù´Â ¿¹¿Ü¸¦ ´øÁöµµ·Ï µÇ¾î ÀÖ´Ù.

ÀϺΠ¸Þ¼­µå°¡ ¿É¼ÇÀÎ ÀÌÀ¯´Â Ä÷º¼Ç¿¡ µû¶ó ¼±ÅÃÀûÀ¸·Î ±¸ÇöÇÏ°í Ä¿½ºÅÒ Ä÷º¼ÇÀ» ¸¸µé±â ½±µµ·Ï Çϱâ À§Çؼ­ÀÌ´Ù. Ä÷º¼Ç¸¶´Ù õÂ÷¸¸º°·Î ´Ù¸¥ ¸Þ¼­µå ¸ñ·ÏÀ» µû·Î Á¤ÀÇÇÏ¸é ±¸Çöµµ ¾î·Á¿ï »Ó¸¸ ¾Æ´Ï¶ó º¯Á¾ÀÌ ³Ê¹« ¸¹¾ÆÁø´Ù. ±×·¡¼­ ÀϹÝÀûÀÎ ±â´ÉÀÇ ¸ñ·ÏÀ» Á¤ÀÇÇ쵂 Ä÷º¼ÇÀº ÀÚ½ÅÀÌ ²À ÇÊ¿ä·Î ÇÏ´Â ¸Þ¼­µå¸¸ ±¸ÇöÇÑ´Ù.

CollectionÀÌ Á¤ÀÇÇÏ´Â ÁÖ¿ä ¸Þ¼­µå ¸ñ·ÏÀ» Çϳª¾¿ »ìÆ캸ÀÚ. Ä÷º¼Ç º»¿¬ÀÇ ±â´ÉÀº ÀڷḦ °ü¸®ÇÏ´Â °ÍÀÌ¸ç °¡Àå ±âº»ÀûÀÎ µ¿ÀÛÀº ÀڷḦ ³Ö°í »©´Â °ÍÀÌ´Ù. ÀÌ µ¿ÀÛÀº ´ÙÀ½ ¸Þ¼­µå°¡ ¼öÇàÇÑ´Ù.

 

boolean add(E e)

boolean remove(Object o)

boolean contains(Object o)

 

Ä÷º¼Ç¿¡ ÀڷḦ Ãß°¡ÇÏ°í, »èÁ¦ÇÏ°í, Æ÷ÇÔ ¿©ºÎ¸¦ °Ë»çÇÏ´Â ¸Þ¼­µåÀÌ´Ù. ´ÙÀ½Àº Ä÷º¼Ç Àüü¸¦ °ü¸®ÇÏ´Â ¸Þ¼­µåÀÌ´Ù.

 

int size()

void clear()

boolean isEmpty()

Object[] toArray()

<T> T[] toArray(T[] a)

Iterator<E> iterator()

 

Å©±â¸¦ Á¶»çÇÏ°í Ä÷º¼ÇÀ» ºñ¿ì°Å³ª ºó Ä÷º¼ÇÀÎÁö Á¶»çÇÏ´Â ¸Þ¼­µåÀÌ´Ù. Ä÷º¼ÇÀÇ µ¥ÀÌÅ͸¦ ÀÏ¹Ý ¹è¿­·Î º¯È¯ÇÏ¸ç ¹Ýº¹ÀÚ¸¦ ±¸ÇØ Àüü Ä÷º¼ÇÀ» ¼øȸÇÑ´Ù. Ä÷º¼ÇÀ̶ó¸é ´ç¿¬È÷ ÀÖ¾î¾ß ÇÒ »ó½ÄÀûÀÎ ¸Þ¼­µåÀÌ´Ù. ´ÙÀ½ ¸Þ¼­µå´Â ¿©·¯ °³ÀÇ ¿ä¼Ò¸¦ ÇѲ¨¹ø¿¡ °í¼ÓÀ¸·Î ó¸®ÇÑ´Ù.

 

boolean addAll(Collection<? extends E> c)

boolean removeAll(Collection<?> c)

boolean containsAll(Collection<?> c)

 

ÀÌ ¸Þ¼­µå¸¦ ¾î¶»°Ô ±¸ÇöÇÒ °ÍÀΰ¡´Â ±¸Ã¼ÀûÀÎ ¼­ºê Ŭ·¡½º¿¡ µû¶ó ´Þ¶óÁö´Âµ¥ CollectionÀº ÇÏÀ§ÀÇ Ä÷º¼ÇÀ» À§ÇØ ÃæºÐÈ÷ ¹ü¿ëÀûÀ¸·Î ¼³°èÇØ µÎ¾ú´Ù. ¿¹¸¦ µé¾î add ¸Þ¼­µå¸¦ º¸ÀÚ. ÀڷḦ Ãß°¡ÇÏ¸é ±×³É µÚ¿¡ µ¡ºÙÀ̹ǷΠ±»ÀÌ ¸®ÅÏ°ªÀÌ ÇÊ¿ä ¾øÁö¸¸ boolean ŸÀÔÀ» ¸®ÅÏÇÑ´Ù.

Áߺ¹À» Çã¿ëÇÏ´Â ¸®½ºÆ®´Â add°¡ ¹«Á¶°Ç ¼º°øÀ̾ »ç½Ç»ó ¸®ÅÏ°ªÀÌ ÇÊ¿ä ¾ø´Ù. ±×·¯³ª Áߺ¹µÈ °ªÀ» Çã¿ëÇÏÁö ¾Ê´Â ÁýÇÕÀº ÀÌ¹Ì µé¾î ÀÖ´Â °ªÀ» ¶Ç Ãß°¡Çϸé false¸¦ ¸®ÅÏÇÑ´Ù. CollectionÀº µÎ Ä÷º¼ÇÀ» ¸ðµÎ °í·ÁÇÏ¿© add ¸Þ¼­µåÀÇ ¸®ÅÏ°ªÀ» booleanÀ¸·Î ¼±¾ðÇØ ³õ¾Ò´Ù.

CollectionÀ¸·ÎºÎÅÍ ÆÄ»ýµÇ´Â List, Set ÀÎÅÍÆäÀ̽º´Â °¢ Ä÷º¼Ç¿¡ ¸Â´Â Ãß°¡ ¸Þ¼­µå¸¦ Á¤ÀÇÇÑ´Ù. ¿¹¸¦ µé¾î ¼ø¼­°¡ ÀÖ´Â Ä÷º¼ÇÀÎ List ÀÎÅÍÆäÀ̽º´Â À§Ä¡¸¦ ÅëÇØ ¿ä¼Ò¸¦ ¾×¼¼½ºÇÏ´Â get, set ¸Þ¼­µå¸¦ Á¦°øÇÑ´Ù. »óÀ§ÀÇ ÀÎÅÍÆäÀ̽º¿¡ ¼±¾ðµÈ ¸Þ¼­µå¸¦ ¸ÕÀú ÀÍÈù ÈÄ Ä÷º¼Ç Ŭ·¡½º¸¦ °øºÎÇÏ´Â °ÍÀÌ ¼ø¼­»ó ¸ÂÁö¸¸ ³Ê¹« ¹ø°Å·Î¿ì´Ï ¸»´ÜÀÇ ½Ç¹« Ŭ·¡½º À§ÁÖ·Î ¿¬±¸ÇØ º¸ÀÚ.