ÀÚ¹Ù ¾ð¾î¸¦ ´õ ±í°Ô ÀÌÇØÇÏ°í ½Í´Ù¸é? ´õ ±ò²ûÇϰí Á¤È®ÇÏ°í ¾ÈÀüÇϸç Àç»ç¿ëÀÌ ½¬¿î Äڵ带 ¸¸µé°í ½Í´Ù¸é? ¹Ù·Î ÀÌ Ã¥ ¡ºEffective Java 2ÆÇ¡»ÀÌ ´äÀÌ´Ù. ¿©±â ½Ç¸° 78°¡Áö ÁöħµéÀº ÇÁ·Î±×·¡¸Ó°¡ ¸ÅÀÏ ¸¶ÁÖÇÏ´Â µµÀüµéÀ» ÇØ°áÇϱâ À§ÇØ ¹Ýµå½Ã µû¶ó¾ß ÇÒ, ÃÖ°íÀÇ ½ÇÁúÀû ÇØ°áÃ¥ÀÌ´Ù.
¡ºEffective Java 2ÆÇ¡»Àº Á¹Æ®(Jolt) »óÀ» ¼ö»óÇÏ¸ç °íÀüÀÇ ¹Ý¿¿¡ ¿À¸¥ ÃÊÆÇÀ» Àü¸éÀûÀ¸·Î °³Á¤ÇÑ °ÍÀ¸·Î, Java SE 5¿Í Java SE 6¿¡ »õ·Ó°Ô µµÀÔµÈ ±â´ÉµéÀ» ¹Ý¿µÇÏ¿´´Ù. ÀúÀÚ´Â »õ·Î¿î µðÀÚÀÎ ÆÐÅϰú ¼÷¾îµéÀ» ޱ¸Çϸé...
´õº¸±â
ÀÚ¹Ù ¾ð¾î¸¦ ´õ ±í°Ô ÀÌÇØÇÏ°í ½Í´Ù¸é? ´õ ±ò²ûÇϰí Á¤È®ÇÏ°í ¾ÈÀüÇϸç Àç»ç¿ëÀÌ ½¬¿î Äڵ带 ¸¸µé°í ½Í´Ù¸é? ¹Ù·Î ÀÌ Ã¥ ¡ºEffective Java 2ÆÇ¡»ÀÌ ´äÀÌ´Ù. ¿©±â ½Ç¸° 78°¡Áö ÁöħµéÀº ÇÁ·Î±×·¡¸Ó°¡ ¸ÅÀÏ ¸¶ÁÖÇÏ´Â µµÀüµéÀ» ÇØ°áÇϱâ À§ÇØ ¹Ýµå½Ã µû¶ó¾ß ÇÒ, ÃÖ°íÀÇ ½ÇÁúÀû ÇØ°áÃ¥ÀÌ´Ù.
¡ºEffective Java 2ÆÇ¡»Àº Á¹Æ®(Jolt) »óÀ» ¼ö»óÇÏ¸ç °íÀüÀÇ ¹Ý¿¿¡ ¿À¸¥ ÃÊÆÇÀ» Àü¸éÀûÀ¸·Î °³Á¤ÇÑ °ÍÀ¸·Î, Java SE 5¿Í Java SE 6¿¡ »õ·Ó°Ô µµÀÔµÈ ±â´ÉµéÀ» ¹Ý¿µÇÏ¿´´Ù. ÀúÀÚ´Â »õ·Î¿î µðÀÚÀÎ ÆÐÅϰú ¼÷¾îµéÀ» ޱ¸ÇÏ¸é¼ Á¦³×¸¯, enum, ¾î³ëÅ×À̼Ç, ÀÚµ¿ °´Ã¼È µîÀÇ »õ·Î¿î ±â´ÉµéÀ» ÃÖ´ëÇÑ È°¿ëÇÒ ¹æ¹ýÀ» Á¦½ÃÇÑ´Ù.
ÀÌ Ã¥ÀÇ °¢ ÀåÀº ©¸·ÇÑ µ¶¸³ ¿¡¼¼ÀÌ Çü½ÄÀ¸·Î ±â¼úµÈ ¡°±ÔÄ¢¡± µéÀÇ ¹À½ÀÌ´Ù. °¢°¢ÀÇ ¿¡¼¼ÀÌ¿¡´Â ÀÚ¹Ù Ç÷§ÆûÀ» ´Ù·ê ¶§ ¾Ë¾Æ¾ß ÇÒ ¹Ì¹¦ÇÑ »çÇ׵鿡 ´ëÇÑ ÅëÂû°ú Á¶¾ðÀÌ, ±×¸®°í ³î¶ó¿î ¿¹Á¦µéÀÌ ´ã°Ü ÀÖ´Ù. ±× Æ÷°ýÀû ¼³¸íÀ» ÅëÇØ, ¹«¾ùÀ» ÇÏ°í ¹«¾ùÀ» ÇÏÁö ¸»¾Æ¾ß ÇÒÁö, ±×¸®°í ±× ÀÌÀ¯´Â ¹«¾ùÀÎÁö ¾Ë ¼ö ÀÖÀ» °ÍÀÌ´Ù.
ÁÖµÈ Æ¯Â¡Àº ´ÙÀ½°ú °°´Ù.
¡Ü Á¦³×¸¯, enum, ¾î³ëÅ×À̼Ç, ÀÚµ¿ °´Ã¼È, for-each ¹®, varargs, º´Ç༺ À¯Æ¿¸®Æ¼ µî¿¡ °üÇÑ »õ·Î¿î Áöħµé
¡Ü °´Ã¼, Ŭ·¡½º, ¶óÀ̺귯¸®, ¸Þ¼µå, Á÷·ÄÈ µîÀÇ °íÀüÀû ÁÖÁ¦¿¡ ´ëÇÑ ÃÖ¼±ÀÇ Áöħµé
¡Ü ÀÚ¹ÙÀÇ ¹Ì¹¦ÇÑ ºÎºÐ¿¡ ´ëÇÑ ¸ôÀÌÇØ¿¡¼ ¿À´Â ¹®Á¦µéÀ» ȸÇÇÇÏ´Â ¹æ¹ý
¡Ü ÀÚ¹Ù ¾ð¾î¿Í ±× ±âº»Àû ¶óÀ̺귯¸®ÀÎ java.lang, java.util, java.util.concurrent, ±×¸®°í java.io¿¡ ÃÊÁ¡À» ¸ÂÃá ¼³¸í
¡Ü ¿Å±äÀÌ ÁÖ¼®À¸·Î ÃֽŠÀÚ¹Ù 7, 8¿¡ ´ëÇÑ º¸Ãæ ¼³¸í ¼ö·Ï
°£´ÜÈ÷ ¸»Çؼ ÀÌ Ã¥Àº, È¿À²ÀûÀ̸鼵µ Àß ¼³°èµÈ ÀÚ¹Ù ÇÁ·Î±×·¥À» ±¸ÇöÇϱâ À§ÇØ ¾Ë¾Æ¾ß ÇÒ °¡Àå ½ÇÁúÀûÀ̸鼵µ ±ÇÀ§ ÀÖ´Â Áöħ¼´Ù.
[ÃßõÀÇ ±Û]
Effective Java¿¡ ½ñ¾ÆÁø Âù»ç
¡°ÀÌ Ã¥À» ½Ê ³â Àü¿¡ ¾Ë¾Ò´õ¶ó¸é ºÐ¸í ÁÁ¾ÒÀ» °ÍÀÌ´Ù. ³ª¶ó¸é Àڹ٠åÀº ÇÊ¿ä·Î ÇÏÁö ¾ÊÀ» °Å¶ó°í »ý°¢ÇÏ´Â À̵鵵 ÀÖ°ÚÁö¸¸, ÀÌ Ã¥¸¸ÅÀº ´Ù¸£´Ù.¡±
- Á¦ÀÓ½º °í½½¸µ(James Gosling), Liquid RoboticsÀÇ ÃÖ°í ¼ÒÇÁÆ®¿þ¾î ¾ÆÅ°ÅØÆ®ÀÌÀÚ ÀÚ¹Ù ¾ð¾îÀÇ Ã¢½ÃÀÚ.
¡°ÀÚ¹Ù ¾ð¾î¿Í °´Ã¼ÁöÇâ ¾ð¾î¸¦ ¾î¶»°Ô »ç¿ëÇÏ´Â °ÍÀÌ ÁÁÀºÁö ¾Ë·ÁÁÖ´Â ÈǸ¢ÇÑ Á¶¾ðµé·Î °¡µæÇÑ ÃÖ°íÀÇ Ã¥.¡±
- ±â¶óµå ºê¶óÂ÷(Gilad Bracha), Google Dart ÆÀ ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾îÀÌÀÚ Newspeak ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ Ã¢½ÃÀÚÀÌ¸ç ¡ºThe Java Language Specification, 3/E¡»(Addision-Wesley, 2005)ÀÇ °øÀúÀÚ.
¡°10Á¡ ¸¸Á¡¿¡ 10Á¡ ? ´Ù¸¥ »ç¶÷µéÀÌ ÀÐ°í °ü¸®Çϱ⿡ ÈǸ¢ÇÑ ÀÚ¹Ù Äڵ带 ¸¸µé°í ½ÍÀº »ç¶÷À̶ó¸é ¹Ýµå½Ã ÀÌ Ã¥À» °¡Áö°í ÀÖ¾î¾ß ÇÑ´Ù. JDK ¶óÀ̺귯¸®°¡ ÁøÈÇÏ´õ¶óµµ ºû¹Ù·¡Áö ¾ÊÀ» Á¤º¸°¡ ´ã°Ü ÀÖ´Â µå¹® Ã¥ °¡¿îµ¥ Çϳª´Ù.¡±
- ÇÇÅÍ Æ®¶õ(Peter Tran), Pros Revenue Management »çÀÇ ¼±ÀÓ ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾î.
¡°ÇöÁ¸ÇÏ´Â ÃÖ°íÀÇ ÀÚ¹Ù ¼Àû. ¼ú¼ú ÀÐÈú »Ó ¾Æ´Ï¶ó ¾ÆÁÖ À¯¿ëÇÏ´Ù. ¸»·Î´Â ĪÂùÀ» ´Ù ÇÒ ¼ö ¾øÀ» Á¤µµ´Ù. JavaOne 2001 ÄÁÆÛ·±½º¿¡¼ Á¦ÀÓ½º °í½½¸µÀº ¸»Çß´Ù. ¡®¾ó¸¥ °¡¼ ±¸¸ÅÇϼ¼¿ä!¡¯ ±× Ãæ°í¸¦ µû¶ú´ø °ÍÀÌ ±â»Ú´Ù. ±×ÀÇ »ý°¢¿¡ 100% µ¿ÀÇÇÑ´Ù.¡±
- ŰÀ̽º ¿¡µå¿öÁî(Keith Edwards), Georgia TechÀÇ Interactive Computing ºÐ¾ß ±³¼öÀ̸ç, ¡ºCore JINI¡»(Prentice Hall, 2000)ÀÇ ÀúÀÚ
¡°°³¼±µÈ ÀÚ¹Ù Ç÷§Æû API(Collections API Æ÷ÇÔ) ÀϺθ¦ ¼³°èÇÑ ¹Ù·Î ±× »ç¶÷ÀÌ ³»³õÀº, ÁøÁ¤ ÈǸ¢ÇÑ Ã¥.¡±
- Á¦ÀÓ½º Ŭ¶óÅ©(James Clark), XML Ç¥ÁØÈ ±×·ìÀÇ ¼ö¼® ±â¼ú¿øÀ¸·Î Ȱµ¿ÇßÀ¸¸ç, ÇöÀç´Â ű¹À¸·Î ÀÌÁÖÇÏ¿© ű¹ ¿ÀÇ ¼Ò½º ¼ÒÇÁÆ®¿þ¾î ¼¾ÅÍ(Thai Open Source Software Center)¶ó´Â ȸ»ç¸¦ ¿î¿µÇϰí ÀÖ´Ù. ű¹ ¼ÒÇÁÆ®¿þ¾î »ê¾÷ ÁøÈï Çùȸ¿¡¼µµ ÀÏÇϰí ÀÖÀ¸¸ç, groff¸¦ ºñ·ÔÇÑ ¸¹Àº ¿ÀÇ ¼Ò½º ¼ÒÇÁÆ®¿þ¾î °³¹ß¿¡ Âü¿©Çß´Ù.
¡°³»°¡ µûÁ®º» ¹Ù¿¡ µû¸£¸é, ¸Å³â Ãâ°£µÇ´Â ÁÁÀº ÇÁ·Î±×·¡¹Ö ¼ÀûÀÇ ¼ö´Â ÇÑ ±Ç ÀÌÇÏÀ̰í, ¸î ³â °£ ÇÑ ±Çµµ ³ª¿ÀÁö ¾ÊÀ» ¶§µµ ÀÖ´Ù. Ä¿´©½º(Knuth) ±³¼öÀÇ »ïºÎÀÛ(trilogy), K&RÀÇ ¡®White Book¡¯, Ä¿´Ï°Ç(Kernighan)°ú Ç÷ÎÀú(Plauger)ÀÇ ¡ºSoftware Tools¡» °°Àº Ã¥À» ¸»ÇÏ´Â °ÍÀÌ´Ù. ÀÌ Ã¥Àº ±× ¹Ý¿¿¡ µå´Â Ã¥ÀÌ´Ù. ±¸ÀÔÇ϶ó.¡±
- ¾Øµå·ù ºó½ºÅå(Andrew Binstock), Dr. Dobb¡¯s JournalÀÇ ¼ö¼® ÆíÁýÀå
¡°³ª´Â Á¦¸ñÀº °ÅâÇÏÁö ¾ÊÀ¸³ª ³»¿ëÀº °úÇÒ Á¤µµ·Î dz¼ºÇÑ Ã¥À» ÁÁ¾ÆÇÑ´Ù. ÀÌ Ã¥¿¡´Â ¼¼½ÉÇÏ°Ô ¼±ÅÃµÈ 57°¡Áö ÇÁ·Î±×·¡¹Ö ±ÔÄ¢ÀÌ ½Ç·Á ÀÖ´Ù. °¢°¢ÀÇ ±ÔÄ¢Àº ÀÚ¹Ù ¾ð¾îÀÇ º»ÁúÀ» ¸í·áÇÏ°íµµ ±íÀÌ ÀÖ°Ô µå·¯³»°í ÀÖÀ¸¸ç, Á÷°ü¿¡¸¸ ÀÇÁ¸ÇÏ´Â ÇÁ·Î±×·¡¹ÖÀÇ ÇѰè, ±×·¯´Ï±î ¾ð¾î°¡ Á¦°øÇÏ´Â ±â´ÉÀ» ¿ÏÀüÇÏ°Ô ÀÌÇØÇÏÁö ¸øÇÑ »óÅ¿¡¼ ´«¿¡ º¸ÀÌ´Â ±æ¸¸ µû¶ó°¡´Â ÇÁ·Î±×·¡¹ÖÀÇ ÇѰ踦 ´Ü¼øÇÏ°íµµ ½ÇÁ¦ÀûÀÎ ¿ë¾îµé·Î ¼³¸íÇϰí ÀÖ´Ù.¡±
- ¸¶ÀÌŬ ¾î³×½ºÆ®(Michael Ernest), Cloudera »çÀÇ ¼±ÀÓ ¼Ö·ç¼Ç ÀÚ¹®
¡°ÀÚ¹Ù ¼³°èÀÚ¿¡°Ô´Â ÀÌ Ã¥ÀÇ ¸ðµç ºÎºÐÀÌ Áß¿äÇÏ´Ù. Á¦Ç°À» ³³Ç°Çϱâ Àü¿¡ ÀÌ Ã¥À» ÀÐÀ¸¸é, ±× ºñ¿ëÀ» õ ¹è·Î º¸»ó¹Þ°Ô µÉ °ÍÀÌ´Ù.¡±
- ¸®Ã³µå ¸¶Å׿À¼Ç(Richard Mateosian), IEEE Micro, July/August 2002(vol. 22, no. 4)
¡°ÀÌ Ã¥À» ±¸ÀÔÇÑ °ÍÀº 2ÁÖ ÀüÀε¥, »ï °³¿ù °øºÎÇßÀ» ¶§º¸´Ù ´õ ¸¹Àº °ÍÀ» »çÈê ¸¸¿¡ ¹è¿ì°Ô µÇ¾ú´Ù. ³î¶ó¿î Ã¥À̸ç, ³» ÀÚ¹Ù ¼Àç¿¡ Ãß°¡ÇÒ ¼ö ÀÖ¾î¼ ±â»Ú´Ù.¡±
- Á¦ÀÎ ±×¸®½ºÆ¼(Jane Griscti), IT ÀÚ¹® Àü¹®°¡
´Ý±â