±¹³»µµ¼
Àü°øµµ¼/´ëÇб³Àç
°øÇаè¿
ÄÄÇ»ÅÍ°øÇÐ
2013³â 9¿ù 9ÀÏ ÀÌÈÄ ´©Àû¼öÄ¡ÀÔ´Ï´Ù.
Á¤°¡ |
45,000¿ø |
---|
40,500¿ø (10%ÇÒÀÎ)
2,250P (5%Àû¸³)
ÇÒÀÎÇýÅÃ | |
---|---|
Àû¸³ÇýÅà |
|
|
|
Ãß°¡ÇýÅÃ |
|
À̺¥Æ®/±âȹÀü
¿¬°üµµ¼
»óÇ°±Ç
ÀÌ»óÇ°ÀÇ ºÐ·ù
Ã¥¼Ò°³
1ºÎ¿¡¼´Â ÄÚƲ¸° ÇÁ·Î±×·¥¿¡ ÇÊ¿äÇÑ ÇʼöÀûÀÎ ±âº» ¿ä¼Ò¸¦ ¼³¸íÇϸç, À̸¦ ÅëÇØ ³Ê¹« º¹ÀâÇÑ °³³äÀ» ÀÌÇØÇϱâ À§ÇØ °í»ýÇÏÁö ¾Ê°í ±âº»ÀûÀÎ ÄÚƲ¸° ¾ð¾î¸¦ ¹è¿ï ¼ö ÀÖ´Ù. 2ºÎ¿¡¼´Â ÄÚƲ¸°ÀÌ Á¦°øÇÏ´Â ´Ù¾çÇÑ ¹®¹ý ¼³ÅÁÀ̳ª °í±Þ ±â´ÉÀ» ¼³¸íÇÏ¸é¼ °¢ ±â´ÉÀÌ ¾î¶² ¿ªÇÒÀ» ÇÏ´ÂÁö º¸¿©ÁØ´Ù. ±× °úÁ¤¿¡¼ °´Ã¼ÁöÇâ, ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö, Á¦³×¸¯½º, Ä÷º¼ÇÀ» ´õ Àß ÀÌÇØÇÏ°í, ÄÚµå ÀÛ¼º½Ã ÄÚƲ¸°ÀÇ ´Ù¾çÇÑ ±â´ÉÀ» ÀûÀçÀû¼Ò¿¡ È°¿ëÇÒ ¼ö ÀÖ°Ô ÇØÁØ´Ù. ¶ÇÇÑ ÄÚƲ¸° ¾ð¾îÀÇ ¿©·¯ ¿ä¼Ò¸¦ ¾ð¾î ¸í¼¼ ¼öÁØÀ¸·Î ¼³¸íÇÏ°í ÀÖ¾î Ã¥À» ´Ù ÀÐÀº ÈÄ¿¡µµ Âü°í¼·Î È°¿ëÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
ÃâÆÇ»ç ¼Æò
¢Â ÀÌ Ã¥¿¡¼ ´Ù·ç´Â ³»¿ë ¢Â
¡ß ÄÚƲ¸° ¾ð¾î¸¦ ²À ÇÊ¿äÇÑ ±âÃÊÀûÀÎ ³»¿ë°ú ±âÃÊ À§¿¡ ½×¾Æ ¿Ã·Á¾ß ÇÏ´Â Áö½ÄÀ¸·Î ³ª´² ¼³¸í
¡ß ÇÔ¼ö ¿À¹ö·Îµå 󸮱ÔÄ¢ µî ÄÚƲ¸° ¾ð¾îÀÇ ¹Ì¹¦ÇÑ ¼¼ºÎ »çÇ×À» ¾ð¾î ¸í¼¼¸¦ ÂüÁ¶ÇØ ÀÚ¼¼È÷ ¼³¸í
¡ß Çü½ÄÈ ¹®ÀÚ¿ µî ½Ç¹«¿¡¼ ÇÊ¿äÇÑ ³»¿ëÀ» ¼³¸í
¡ß ÀÚ¼¼ÇÑ Ä÷º¼Ç ¶óÀ̺귯¸® ÇÔ¼ö ¼³¸í°ú ¿¹Á¦
¡ß 2023³â ÄÚƲ¸° ÃֽŠ¹öÀü(1.8) ´ëÀÀ
¢Â ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ ¢Â
¡ß ÄÚƲ¸°À» ÀÚ¼¼È÷ ¾Ë°í ½ÍÀº ÇÁ·Î±×·¡¸Ó
¡ß ÄÚƲ¸°À» ¹è¿üÁö¸¸ ±âÃʸ¦ ´õ ´ÙÁö°í ½ÍÀº ÄÚƲ¸° ÇÁ·Î±×·¡¸Ó
¡ß ÄÚƲ¸° ¾ð¾î ÀÚü°¡ ±Ã±ÝÇÒ ¶§ ã¾Æº¼ ¼ö ÀÖ´Â Âü°í¼°¡ ÇÊ¿äÇÑ °³¹ßÀÚ
¢Â ÀÌ Ã¥ÀÇ ±¸¼º ¢Â
1Àå, ¡®ÄÚƲ¸° ½ÃÀÛÇϱ⡯¿¡¼´Â ¿ì¼± ÄÚƲ¸° ¾ð¾îÀÇ °³¿ä¸¦ ¼Ò°³ÇÏ°í °³¹ß ȯ°æÀ» ¼³Á¤ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù. À̾îÁö´Â 1ºÎ, ¡®ÄÚƲ¸° Äü½ºÅ¸Æ®¡¯¿¡¼´Â ÄÚƲ¸° ¾ð¾î ¿ä¼Ò Áß ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¶§ ²À ÇÊ¿äÇÑ Çʼö °³³äÀ» ´Ù·é´Ù. 1ºÎ¸¦ Àß ÀÐ°í ¾ð¾î ±âº» ¿ä¼Ò¸¦ ÀÌÇØÇؾ߸¸ ÄÚƲ¸° Äڵ带 ÀÛ¼ºÇÒ ¼ö ÀÖ°í 2ºÎ ³»¿ëÀ» ÇнÀÇϱâ À§ÇÑ Áغñ¸¦ ¸¶Ä¥ ¼ö ÀÖ´Ù. 1ºÎÀÇ °¢ ÀåÀº ´ÙÀ½°ú °°´Ù.
2Àå, ¡®ÇÁ·Î±×·¥À» ÀÌ·ç´Â ±âº» ´ÜÀ§: º¯¼ö¿Í ½Ä, ¹®¡¯¿¡¼´Â ÄÚƲ¸° ÇÁ·Î±×·¥ÀÇ ±âº» ¿ä¼Ò¸¦ ÀÌ·ç´Â ½Ä, °ª, ŸÀÔ, º¯¼ö¿Í ±âº» Á¦¾î ±¸Á¶ÀÎ if, when, for, while, do ... while, break, continue¸¦ ´Ù·é´Ù.
3Àå, ¡®ÇÔ¼ö¡¯¿¡¼´Â ÇÔ¼ö, Áö¿ª º¯¼ö ¹× Áö¿ª ÇÔ¼ö, ¿µ¿ª ±ÔÄ¢, À͸í ÇÔ¼ö, ¶÷´Ù, Ŭ·ÎÀú¸¦ ´Ù·ç°í, ´Ù¾çÇÑ ÆĶó¹ÌÅÍ ÁöÁ¤ ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.
4Àå, ¡®Å¬·¡½º¿Í °´Ã¼¡¯¿¡¼´Â °´Ã¼ÁöÇâÀÇ ±âÃʸ¦ ´Ù·é´Ù. Ŭ·¡½º, »ó¼Ó, Ãß»ó Ŭ·¡½º, ÀÎÅÍÆäÀ̽º, ÇÁ·ÎÆÛƼ¸¦ ¼³¸íÇÑ´Ù.
5Àå, ¡®¿¹¿Ü 󸮡¯¿¡¼´Â ¿¹¿Ü 󸮸¦ ´Ù·é´Ù. ÇÁ·Î±×·¥¿¡¼ ½ÇÆи¦ ó¸®ÇÏ´Â ¹æ¹ýÀ» ¼³¸íÇÏ°í, ÄÚƲ¸°ÀÇ ¿¹¿Ü ó¸® ¹æ¹ýÀÎ try, catch, finally¸¦ ¼³¸íÇÑ´Ù. ¶ÇÇÑ use() ¸â¹ö ÇÔ¼ö¸¦ »ç¿ëÇØ ÀÚµ¿ ÇØÁ¦°¡ °¡´ÉÇÑ Å¸ÀÔÀ» È°¿ëÇÏ´Â ¹æ¹ýµµ ´Ù·é´Ù.
6Àå, ¡®Á¦³×¸¯½º¡¯¿¡¼´Â ŸÀÔÀ» ÆĶó¹ÌÅÍ·Î ¹Þ¾Æ »õ·Î¿î ŸÀÔ(Ŭ·¡½º/ÀÎÅÍÆäÀ̽º)À̳ª ÇÔ¼ö¸¦ ¸¸µé¾î³»´Â ¹æ¹ýÀÎ Á¦³×¸¯½º¸¦ »ìÆ캻´Ù. Á¦³×¸¯½ºÀÇ °³³ä, ÄÚƲ¸°¿¡¼ ŸÀÔ ÆĶó¹ÌÅÍ°¡ Æ÷ÇÔµÈ Å¬·¡½º, ÀÎÅÍÆäÀ̽º, ÇÔ¼ö¸¦ ¼±¾ðÇÏ´Â ¹æ¹ý, ŸÀÔ ¹Ù¿îµå, ¼±¾ð ÁöÁ¡ º¯¼º, »ç¿ë ÁöÁ¡ º¯¼ºÀ» ¼³¸íÇÑ´Ù.
7Àå, ¡®³Î °¡´É¼º¡¯¿¡¼´Â ³Î °¡´É¼ºÀ» ÄÚƲ¸°¿¡¼ ó¸®ÇÏ´Â ¹æ¹ýÀ» ´Ù·é´Ù. ³Î °¡´É¼ºÀÌ ¿Ö ÇÊ¿äÇÑÁö »ìÆ캸°í, ³ÎÀÌ µÉ ¼ö Àִ ŸÀÔ, ½º¸¶Æ® ij½ºÆ®, is ¹× as ¿¬»ê, ¿¤ºñ½º ¿¬»êÀÚ(?:), ¾ÈÀüÇÑ È£Ãâ ¿¬»êÀÚ(?.), ³Î ¾Æ´Ô ´Ü¾ð ¿¬»êÀÚ(!!)¸¦ ¼³¸íÇÑ´Ù.
8Àå, ¡®ÆÐÅ°Áö¿Í ÀÓÆ÷Æ®¡¯¿¡¼´Â ÆÐÅ°Áö¸¦ ¼±¾ðÇÏ´Â ¹æ¹ý°ú ÆÐÅ°Áö ¸â¹ö¸¦ ÀÓÆ÷Æ®ÇØ »ç¿ëÇÏ´Â ¹æ¹ý, ÀÓÆ÷Æ® ½Ã »õ·Î¿î À̸§À» ÁöÁ¤ÇØ À̸§ Ãæµ¹À» ¸·´Â ¹æ¹ýÀ» ¼Ò°³ÇÑ´Ù. ÄÚƲ¸°ÀÌ ±âº»ÀûÀ¸·Î ÀÓÆ÷Æ®ÇØÁ༠º°µµ·Î ÀÓÆ÷Æ®ÇÏÁö ¾Ê¾Æµµ µÇ´Â ÆÐÅ°Áöµéµµ ¼³¸íÇÑ´Ù.
9Àå, ¡®ÄÚƲ¸° Ä÷º¼Ç ±âÃÊ¡¯¿¡¼´Â ÄÚƲ¸°À¸·Î °³¹ßÀ» ÁøÇàÇÒ ¶§ °¡Àå ÀÚÁÖ Á¢ÇÏ°Ô µÉ ±âÃÊ ¶óÀ̺귯¸®ÀÎ ÄÚƲ¸° Ä÷º¼ÇÀ» ¼³¸íÇÑ´Ù.
10Àå, ¡®º¯¼ö ¼±¾ð°ú ±âº» ŸÀÔ ÀÚ¼¼È÷ »ìÆ캸±â¡¯¿¡¼´Â ±âº» ŸÀÔÀ» ÀÚ¼¼È÷ »ìÆ캸°í, ¹®ÀÚ¿ À̽ºÄÉÀÌÇÁ, À¯´ÏÄÚµå, º¯¼ö À̸§ Ãæµ¹À» ¼³¸íÇÑ´Ù. ±× ÈÄ lateinit var¿Í constval, ¿¬»êÀÚ ¿ì¼±¼øÀ§¿Í ÇÔ²² ¸ðµç ÄÚƲ¸° ¿¬»êÀÚ¸¦ »ó¼¼È÷ ´Ù·é´Ù. ¸¶Áö¸·À¸·Î´Â ·Î¿ì(raw) ¹®ÀÚ¿°ú ¹®ÀÚ¿ Á¶ÀÛ ÇÔ¼ö¸¦ ¼³¸íÇÑ´Ù.
11Àå, ¡®Á¦¾î ±¸Á¶ ÀÚ¼¼È÷ »ìÆ캸±â¡¯¿¡¼´Â Á¦¾î ±¸Á¶¸¦ ´õ ÀÚ¼¼È÷ ´Ù·ç°í, ¹üÀ§¿Í ¼ø¿À» ¼³¸íÇÑ ÈÄ break¿Í continue¿¡¼ ·¹À̺íÀ» »ç¿ëÇÏ´Â ¹æ¹ýÀ» »ìÆ캻´Ù.
12Àå, ¡®ÇÔ¼ö ÀÚ¼¼È÷ »ìÆ캸±â¡¯¿¡¼´Â ÇÔ¼ö¿Í °ü·ÃµÈ ´õ ÀÚ¼¼ÇÑ ³»¿ëÀ» »ìÆ캻´Ù. ÄÚƲ¸° ¿¬»êÀÚ°¡ ¾î¶² ¿¬»êÀÚ ÇÔ¼ö¿Í ¿¬°áµÇ´ÂÁö ÀÚ¼¼È÷ ¼³¸íÇÏ°í, È®Àå ÇÔ¼ö¿Í ÇÁ·ÎÆÛƼ¸¦ »ìÆ캻´Ù. ÀÌ¾î¼ ÇÔ¼ö ¿À¹ö·Îµå ÇØ¼Ò ±ÔÄ¢À» ¼³¸íÇÏ°í(´Ù¼Ò ¾î·Á¿î ³»¿ëÀÌ´Ù), ÆĶó¹ÌÅÍ¿¡¼ ÄÚƲ¸° ¿µ¿ª ±ÔÄ¢ÀÌ Àû¿ëµÇ´Â ¹æ½Ä°ú Àç±Í ÇÔ¼ö ¹× ²¿¸® Àç±Í ÇÔ¼ö¸¦ Á¤ÀÇÇÏ´Â ¹æ¹ýÀ» ´Ù·é´Ù. ¸¶Áö¸·À¸·Î´Â ÀζóÀÎ ÇÔ¼ö¸¦ ¼³¸íÇÑ´Ù.
13Àå, ¡®°´Ã¼ÁöÇâ ÀÚ¼¼È÷ »ìÆ캸±â¡¯¿¡¼´Â °´Ã¼ÁöÇâ°ú °ü·ÃÇØ ÄÚƲ¸°ÀÌ Á¦°øÇÏ´Â ¿©·¯ °¡Áö ±â´ÉÀ» »ìÆ캻´Ù. object¸¦ »ç¿ëÇØ ½Ì±ÛÅÏ °´Ã¼¸¦ ¼±¾ðÇÏ´Â ¹æ¹ý, µ¿¹Ý °´Ã¼, µ¥ÀÌÅÍ Å¬·¡½º, ÀÌ³Ñ Å¬·¡½º, °ª Ŭ·¡½º(¶Ç´Â ÀζóÀΠŬ·¡½º), ºÀÀÎµÈ Å¬·¡½º, ºÎ»ý¼ºÀÚ, °¡½Ã¼º ÁöÁ¤ÀÚ, ÀÎÅÍÆäÀ̽º ±¸Çö À§ÀÓ°ú ÇÁ·ÎÆÛƼ À§ÀÓ, ŸÀÔ º°¸íÀ» ¼³¸íÇÑ´Ù.
14Àå, ¡®Á¦³×¸¯½º 2¡¯¿¡¼´Â ½ºÅ¸ ÇÁ·ÎÁ§¼Ç, ŸÀÔ ¼Ò°Å, reified ŸÀÔ ÆĶó¹ÌÅ͸¦ ¼³¸íÇÏ°í, ¿µ¿ª ÇÔ¼ö¸¦ ´Ù·é´Ù.
15Àå, ¡®Ä÷º¼Ç 2¡¯¿¡¼´Â 9Àå¿¡¼ ¹è¿î ¿©·¯ Ä÷º¼ÇÀÌ °øÅëÀ¸·Î Á¦°øÇÏ´Â ´Ù¾çÇÑ ÇÔ¼ö¸¦ À¯Çüº°·Î ¼³¸íÇÑ´Ù. 9Àå¿¡¼ ´Ù·é ÇÔ¼öµé ¿Ü¿¡ zip(), partition(), take(), drop(), windowed(), chunked(), associate(), groupBy() µîÀ» ¼³¸íÇÏ°í groupBy()¿Í °ü·Ã ÀÖ´Â Grouping Ŭ·¡½º¸¦ »ìÆ캻 ´ÙÀ½, fold(), groupBy() µîÀ» ÇѲ¨¹ø¿¡ ó¸®ÇÒ ¼ö ÀÖ´Â ´õ ÀϹÝÀûÀÎ ÇÔ¼öÀÎ aggregate()¿Í ±× ¿Ü ¿©·¯ °¡Áö ÇÔ¼ö¸¦ ¼³¸íÇÑ´Ù. ¸¶Áö¸·À¸·Î´Â Ä÷º¼ÇÀ» Áö¿¬ ó¸®ÇÒ ¼ö ÀÖ´Â ½ÃÄö½º¸¦ »ìÆ캻´Ù.
°¢ Àå¿¡¼ °³³äÀ» ¼³¸íÇÏ°í ³ ÈÄ¿¡´Â Á÷Àü¿¡ ¹è¿î ³»¿ëÀ» °£´ÜÇÏ°Ô ½º½º·Î °ËÅäÇغ¸µµ·Ï ÀÍÈû¹®Á¦¸¦ Á¦½ÃÇϸç, °¢ ÀåÀÇ ³¡¿¡´Â ÇØ´ç ÀåÀÇ ³»¿ëÀ» Á¤¸®ÇÏ´Â µ¥ µµ¿òÀÌ µÇ´Â ¿¬½À¹®Á¦°¡ ÀÖ´Ù. ÀÌ ¹®Á¦µéÀ» Ç®¸é¼ ¹è¿î ³»¿ëÀ» Á¤¸®ÇÏ°í ³»ÀçÈÇÏ±æ ¹Ù¶õ´Ù.
̵̧ȍ
¹ø¿ª¼ ¡ºKotlin in Action¡»(¿¡ÀÌÄÜ, 2017)À» Ãâ°£Çϱâ ÀüºÎÅÍ ÃÊÁß±Þ °³¹ßÀÚ¸¦ ´ë»óÀ¸·Î ÄÚƲ¸°(Kotlin)À» ´õ ±íÀÌ ´Ù·ç´Â Ã¥À» ½á¿Ô´Ù. ÇÏÁö¸¸ ¾÷¹«¿Í ´Ù¸¥ ¹ø¿ª ÀÛ¾÷ÀÌ °ãÃÄÁö¸ç Àú¼ú ¼Óµµ´Â ´õµð±â¸¸ Çß´Ù. °Ô´Ù°¡ Áß°£Áß°£ ÄÚƲ¸°ÀÌ ¾÷µ¥ÀÌÆ®µÇ¸é¼ »ç¿ëÀÚµéÀÇ °ü½É»ç°¡ ´Þ¶óÁü¿¡ µû¶ó Ã¥ÀÇ ³»¿ëÀ» ¿©·¯ ¹ø ´Ù½Ã ½á¾ß¸¸ Çß´Ù. ±× °úÁ¤À» °ÞÀ¸¸é¼ ´çÀå »ç¶÷µéÀÌ °ü½ÉÀ» °®´Â ³»¿ëÀ» ´ãÀº Ã¥ÀÌ ¾Æ´Ï¶ó ¾ð¾î ÀÚü¸¦ ±íÀÌ ÀÌÇØÇÒ ¼ö ÀÖµµ·Ï µ½´Â Ã¥À» ¾²±â·Î °á½ÉÇß´Ù. ±×¸®°í ¸¶Ä§³» ÄÚƲ¸° ¾ð¾î ÀÚü¿¡ ´ëÇØ À̾߱âÇϴ åÀ» ³¾ ¼ö ÀÖ°Ô µÆ´Ù.
ÁÁÀº °³¹ßÀÚ°¡ µÇ·Á¸é ¹«¾ùº¸´Ù °³¹ß Àü¹Ý¿¡ ÇÊ¿äÇÑ Áö½ÄÀ» °®Ãç¾ß ÇÑ´Ù. ƯÈ÷ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡ ´ëÇÑ Áö½ÄÀº ¸ðµç °³¹ßÀÇ ¹ÙÅÁÀÌ µÇ´Â Áß¿äÇÑ Áö½ÄÀÌ´Ù. ¾ð¾î¸¦ ¹è¿ï ¶§´Â ¾ð¾î°¡ Á¦°øÇÏ´Â ¿©·¯ Å°¿öµå¿Í ±¸¼º ¿ä¼Ò¸¦ Á¦´ë·Î ÀÌÇØÇÏ°í, ÀÌ·± ¿ä¼Ò¸¦ ÇÁ·Î±×·¡¹Ö¿¡ ¾î¶»°Ô ½á¸Ô¾î¾ß ÇÒÁöµµ ¾Ë¾Æ¾ß ÇÑ´Ù. ÇÏÁö¸¸ ´õ ÀϹÝÀûÀÎ ¾ð¾î·ÐÀ̳ª ÇÁ·Î±×·¡¹Ö Ãø¸é¿¡¼ °¢ ¿ä¼Ò°¡ ¿Ö ±×·± ½ÄÀ¸·Î ¼³°èµÆ´ÂÁöµµ ¾Ë¾Æ¾ß ÀÚ½ÅÀÌ »ç¿ëÇÏ´Â ¾ð¾îÀÇ ¹ßÀüÀ» ´õ Àß ÀÌÇØÇÏ°í ÇâÈÄ ±× ¾ð¾î°¡ º¯ÇÏ´õ¶óµµ Á» ´õ ½±°Ô º¯È¸¦ ¹Þ¾ÆµéÀÌ°í È°¿ëÇÒ ¼ö ÀÖ´Ù. ¶Ç ¾ð¾î·ÐÀûÀÎ °üÁ¡À» Àß ÀÌÇØÇÏ°í ÀÖÀ¸¸é »õ ¾ð¾î¸¦ ¹è¿ï ¶§µµ µµ¿òÀÌ µÈ´Ù.
ÀÌ Ã¥¿¡¼´Â ÄÚƲ¸° ¾ð¾î¸¦ ¼³¸íÇÏ´Â °úÁ¤¿¡¼ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡ ´ëÇÑ Áö½ÄÀ» ½¬¿î ¼³¸í°ú ¿¹Á¦¸¦ °çµé¿© ÇÔ²² Àü´ÞÇÏ°íÀÚ ³ë·ÂÇß´Ù. ÀÌ·± ¼³¸íÀ» ÅëÇØ ÄÚƲ¸°ÀÇ ¼³°è¸¦ ¿©·¯ºÐÀÌ Á» ´õ ½±°í ¸íÈ®ÇÏ°Ô ÀÌÇØÇÏ°í ÃæºÐÈ÷ È°¿ëÇÏ°Ô µÇ±æ ¹Ù¶õ´Ù.
- ºê¸®Áî¹ø¿¡¼
¿ÀÇö¼®
¸ñÂ÷
1Àå. ÄÚƲ¸° ½ÃÀÛÇϱâ
__1.1 °£·«ÇÑ ¿ª»ç
__1.2 ÄÚƲ¸° ¾ð¾îÀÇ Æ¯Â¡
__1.3 ÄÚƲ¸° °³¹ß ȯ°æ°ú ¼³Ä¡ ¹× »ç¿ë ¹æ¹ý
____1.3.1 À¥ µµ±¸
____1.3.2 IDE: ÀÎÅÚ¸®J ¾ÆÀ̵ð¾î
____1.3.3 ¸í·ÉÁÙ µµ±¸: kotlinc¿Í kotlin
Á¦1ºÎ ÄÚƲ¸° Äü½ºÅ¸Æ®
2Àå. ÇÁ·Î±×·¥À» ÀÌ·ç´Â ±âº» ´ÜÀ§: º¯¼ö¿Í ½Ä, ¹®
__2.1 °¡Àå °£´ÜÇÑ ÄÚƲ¸° ÇÁ·Î±×·¥
__2.2 ÁÖ¼®
__2.3 °ª°ú À̸§, ¸®ÅÍ·²°ú º¯¼ö
__2.4 ŸÀÔ°ú ŸÀÔ ÁöÁ¤, ŸÀÔ Ãß·Ð, ŸÀÔ º¯È¯
__2.5 if, when
__2.6 ¹üÀ§¿Í for
__2.7 while°ú do while
__2.8 break¿Í continue
__2.9 ½Ä°ú ¿¬»êÀÚ
__2.10 ¹è¿
____2.10.1 ¹è¿ ¼±¾ðÇϱâ
____2.10.2 ¹è¿À» »ý¼ºÇÏ´Â ´Ù¸¥ ¹æ¹ý
____2.10.3 ¿ø½Ã ŸÀÔ ¹è¿°ú ÂüÁ¶ ŸÀÔ ¹è¿
____2.10.4 ¹è¿ ±âº» ¿¬»ê
__2.11 ¿¬½À¹®Á¦
3Àå. ÇÔ¼ö
__3.1 ÇÔ¼ö
____3.1.1 Unit ŸÀÔ
__3.2 Áö¿ª º¯¼ö¿Í Áö¿ª ÇÔ¼ö, Á¤Àû ¿µ¿ª ±ÔÄ¢
____3.2.1 Á¤Àû ¿µ¿ª ±ÔÄ¢
__3.3 À͸í ÇÔ¼ö¿Í ¶÷´Ù
____3.3.1 À͸í ÇÔ¼ö³ª ¶÷´Ù¿Í °ü·ÃµÈ ÆíÀÇ ±¸¹®
__3.4 Ŭ·ÎÀú¿Í °ª Æ÷ȹ
__3.5 ´Ù¾çÇÑ ÆĶó¹ÌÅÍ Á¤ÀÇ ¹æ¹ý
____3.5.1 µðÆúÆ® ÆĶó¹ÌÅÍ
____3.5.2 À̸§ ºÙÀº ÀÎÀÚ
____3.5.3 °¡º¯ ±æÀÌ ÀÎÀÚ¿Í ½ºÇÁ·¹µå ¿¬»êÀÚ
__3.6 ¿¬½À¹®Á¦
4Àå. Ŭ·¡½º¿Í °´Ã¼
__4.1 Ŭ·¡½º
____4.1.1 »ý¼ºÀÚ¿¡¼ Ŭ·¡½º ÇÁ·ÎÆÛƼ Á¤ÀÇÇϱâ
____4.1.2 °´Ã¼¿Í ÂüÁ¶
____4.1.3 °´Ã¼ÀÇ µ¿Àϼº°ú µ¿µî¼º
____4.1.4 ÃʱâÈ ºí·Ï
__4.2 »ó¼Ó
____4.2.1 ¸â¹öÀÇ »ó¼Ó °ü°è Á¦¾î: override, open, final
____4.2.2 »ó¼ÓÀÇ È°¿ë: ¿À¹ö¶óÀ̵带 ÅëÇÑ ¼¼ºÐÈ¿Í µ¿Àû µð½ºÆÐÄ¡
____4.2.3 Any¿Í equals(), hashCode(), toString()
____4.2.4 is¿Í as, ½º¸¶Æ® ij½ºÆ®
__4.3 Ãß»ó Ŭ·¡½º
__4.4 ÀÎÅÍÆäÀ̽º
____4.4.1 ÀνºÅϽº Á¤ÀÇ¿Í »ó¼ÓÇϱâ
____4.4.2 ÀÎÅÍÆäÀ̽º ¿À¹ö¶óÀÌµå ±ÔÄ¢
__4.5 ÇÁ·ÎÆÛƼ Á¤ÀÇÇϱâ: °ÔÅÍ, ¼¼ÅÍ, µÞ¹ÞħÇÏ´Â Çʵå
____4.5.1 µÞ¹ÞħÇÏ´Â Çʵå
____4.5.2 µÞ¹ÞħÇÏ´Â Çʵ尡 ¾ø´Â °æ¿ì
____4.5.3 Áö¿¬ ÃʱâÈ ÇÁ·ÎÆÛƼ
____4.5.4 ÇÁ·ÎÆÛƼ °ÔÅÍ¿Í ÀÎÀÚ°¡ ¾ø´Â ÇÔ¼ö Áß ¾î´À °ÍÀ» »ç¿ëÇØ¾ß ÇÒ±î?
__4.6 ¿¬½À¹®Á¦
5Àå. ¿¹¿Ü ó¸®
__5.1 ¿¹¿Ü ´øÁö±â
____5.1.1 ¿¹¿Ü ŸÀÔ ¼±¾ðÇϱâ
____5.1.2 ´Ù¾çÇÑ ¿¹¿Ü ŸÀÔ
__5.2 ¿¹¿Ü ¹Þ±â: catch
____5.2.1 ¿¹¿Ü ´Ù½Ã ´øÁö±â¿Í ¿¹¿Ü º¯È¯ÇØ ´øÁö±â
____5.2.2 try/catch ½Ä
____5.2.3 Nothing ŸÀÔ
__5.3 Á¤¸® ÀÛ¾÷: finally
____5.3.1 ÀÚ¿ø ÀÚµ¿ ÇØÁ¦¸¦ ó¸®ÇÏ´Â ´õ ³ªÀº ¹æ¹ý
__5.4 ¿¬½À¹®Á¦
6Àå. Á¦³×¸¯½º
__6.1 Á¦³×¸¯½ºÀÇ Çʿ伺
__6.2 ÄÚƲ¸° Á¦³×¸¯½º ¹®¹ý
__6.3 ŸÀÔ ¹Ù¿îµå
____6.3.1 Àç±ÍÀû ŸÀÔ ¹Ù¿îµå
____6.3.2 ´ÙÁß ¹Ù¿îµå: where
__6.4 ¼±¾ð ÁöÁ¡ º¯¼º: in, out
____6.4.1 °øº¯¼º
____6.4.2 ¹Ý°øº¯¼º
____6.4.3 ¹«°øº¯
____6.4.4 ¹Ý°øº¯¼º°ú °øº¯¼ºÀº ¾îµð¼ ¿À´Â°¡?
____6.4.5 µÑ ÀÌ»óÀÇ Å¸ÀÔ ÆĶó¹ÌÅÍ°¡ ÀÖ´Â Á¦³×¸¯ ŸÀÔÀÇ º¯¼º ÆÇÁ¤
____6.4.6 ¼±¾ð ÁöÁ¡ º¯¼º°ú »ç¿ë ÁöÁ¡ º¯¼º, ŸÀÔ ÇÁ·ÎÁ§¼Ç
__6.5 ¿¬½À¹®Á¦
7Àå. ³Î °¡´É¼º
__7.1 ³Î µµÀÔ°ú ³Î °¡´É¼ºÀÇ Çʿ伺
____7.1.1 Á¦³×¸¯ ŸÀÔ ÆĶó¹ÌÅÍ¿¡¼ÀÇ ³Î °¡´É¼º
__7.2 ³ÎÀÌ µÉ ¼ö Àִ ŸÀÔ°ú ±×·¸Áö ¾ÊÀº ŸÀÔ
__7.3 ³Î ¿©ºÎ °Ë»ç¿Í ½º¸¶Æ® ij½ºÆ®
____7.3.1 ³Î °¡´É¼º¿¡ ´ëÇÑ ½º¸¶Æ® ij½ºÆ®¿Í Nothing ŸÀÔ
____7.3.2 ³ÎÀÌ µÉ ¼ö Àִ ŸÀÔÀÇ °ª°ú is, as ¿¬»ê
__7.4 ¿¤ºñ½º ¿¬»êÀÚ¿Í ¾ÈÀüÇÑ È£Ãâ ¿¬»êÀÚ
__7.5 ³Î ¾Æ´Ô ´Ü¾ð ¿¬»êÀÚ
__7.6 ¿¬½À¹®Á¦
8Àå. ÆÐÅ°Áö¿Í ÀÓÆ÷Æ®
__8.1 ÆÐÅ°Áö¿Í ÀÓÆ÷Æ®
____8.1.1 ÆÐÅ°Áö ¼±¾ð
____8.1.2 Àüü À̸§°ú ªÀº À̸§, ÀÓÆ÷Æ®
__8.2 ÀÓÆ÷Æ® À̸§ Ãæµ¹°ú ÀÓÆ÷Æ® º°¸í
__8.3 µðÆúÆ® ÀÓÆ÷Æ®
__8.4 ¿¬½À¹®Á¦
9Àå. ÄÚƲ¸° Ä÷º¼Ç ±âÃÊ
__9.1 Ä÷º¼Ç ¼Ò°³
____9.1.1 Ä÷º¼ÇÀÌ Á¦°øÇÏ´Â ¿¬»êÀÇ ºÐ·ù
__9.2 Iterable¡´¡µ°ú Collection¡´¡µ
____9.2.1 Iterable¡´¡µ
____9.2.2 Collection¡´¡µ
____9.2.3 MutableIterable¡´¡µ°ú MutableCollection¡´¡µ
____9.2.4 forEach(), forEachIndexed()
__9.3 Ä÷º¼Ç Á¾·ù¿¡ µû¸¥ »ý¼º, ¿ø¼Ò Á¢±Ù, »ðÀÔ, »èÁ¦ ¹æ¹ý
____9.3.1 ¸®½ºÆ®
____9.3.2 ÁýÇÕ
____9.3.3 ¸Ê
__9.4 Ä÷º¼Ç °Ë»ö°ú °É·¯³»±â ¿¬»ê
____9.4.1 filter(), filterNot()
____9.4.2 filterIndexed()
____9.4.3 filterNotNull()
____9.4.4 indexOf(), lastIndexOf(), indexOfFirst(), indexOfLast()
__9.5 Ä÷º¼Ç º¯È¯ ¿¬»ê
____9.5.1 map(), mapNotNull()
____9.5.2 flatten()
____9.5.3 flatMap()
____9.5.4 mapIndexed()¿Í flatMapIndexed()
__9.6 Ä÷º¼Ç Á¾ÇÕ ¿¬»ê
____9.6.1 ÇÕ°è ¿¬»ê: sum(), sumOf()
____9.6.2 Ãà¾à ¿¬»ê: reduce(), reduceIndexed(), reduceIndexedNull()
____9.6.3 ¿À¸¥ÂÊ Ãà¾à ¿¬»ê: reduceRight()¿Í reduceRightIndexed()
____9.6.4 Á¢±â ¿¬»ê: fold(), foldIndexed(), foldRight(), foldRightIndexed()
____9.6.5 ¹®ÀÚ¿ º¯È¯ ¿¬»ê
__9.7 Ä÷º¼Ç Àüü º¯È¯ ¿¬»ê
____9.7.1 ¸®½ºÆ® º¯È¯: toList(), toMutableList()
____9.7.2 ¹è¿ º¯È¯: toTypedArray()
____9.7.3 ÁýÇÕ º¯È¯: toSet()
____9.7.4 ¸Ê º¯È¯: toMap(), toMutableMap()
__9.8 ±âŸ ¿¬»ê
____9.8.1 Á¤·Ä
__9.9 ¿¬½À¹®Á¦
Á¦2ºÎ
10Àå. º¯¼ö ¼±¾ð°ú ±âº» ŸÀÔ ÀÚ¼¼È÷ »ìÆ캸±â
__10.1 ±âº» µ¥ÀÌÅÍ Å¸ÀÔ
____10.1.1 Á¤¼öÇü ±âº» ŸÀÔ
____10.1.2 ½Ç¼öÇü ±âº» ŸÀÔ
____10.1.3 Boolean ŸÀÔ
____10.1.4 Char ŸÀÔ
__10.2 º¯¼ö À̸§
____10.2.1 À̸§ ±ÔÄ¢°ú À̸§ Ãæµ¹
____10.2.2 lateinit º¯¼ö
____10.2.3 const val
__10.3 ¿¬»êÀÚ¿Í ¿¬»êÀÚ ¿ì¼±¼øÀ§
____10.3.1 »ê¼ú ¿¬»êÀÚ
____10.3.2 ¼ö ŸÀÔ °£ÀÇ Å¸ÀÔ º¯È¯
____10.3.3 º¹ÇÕ ´ëÀÔ ¿¬»ê
____10.3.4 Áõ°¡/°¨¼Ò ¿¬»ê
____10.3.5 ºñ±³ ¿¬»ê°ú ºÒ¸° ¿¬»ê
____10.3.6 ºñÆ® ¿¬»ê°ú ½ÃÇÁÆ® ¿¬»ê
____10.3.7 ºñÆ® ¿¬»ê°ú ºÎÈ£ ¾ø´Â ŸÀÔ
____10.3.8 ¼öÇÐ ¿¬»ê
____10.3.9 ¿¬»êÀÚ ¿ì¼±¼øÀ§
__10.4 (JVM) ¹®ÀÚ¿
____10.4.1 ·Î¿ì ¹®ÀÚ¿
____10.4.2 ¹®ÀÚ¿ ÅÛÇø´
____10.4.3 ¹®ÀÚ¿ Á¶ÀÛ
__10.5 ¿¬½À¹®Á¦
11Àå. Á¦¾î ±¸Á¶ ÀÚ¼¼È÷ »ìÆ캸±â
__11.1 if ½Ä°ú Nothing ŸÀÔ
__11.2 for ·çÇÁ¿Í ÀÌÅÍ·¹ÀÌÅÍÀÇ °ü°è: °ü½À¿¡ ±â¹ÝÇÑ ¾ð¾î ±â´É Á¦°ø
__11.3 ¹üÀ§¿Í ¼ø¿
____11.3.1 ¹üÀ§
____11.3.2 ¼ø¿
__11.4 break, continue¿Í ·¹À̺í
__11.5 ¿¬½À¹®Á¦
12Àå. ÇÔ¼ö ÀÚ¼¼È÷ »ìÆ캸±â
__12.1 operator Å°¿öµå¿Í ¿¬»êÀÚ ¿À¹ö·Îµå
____12.1.1 ´ÜÇ× ¿¬»êÀÚ ¿À¹ö·Îµå
____12.1.2 ´ÜÇ× Áõ°¡/°¨¼Ò ¿¬»êÀÚ ¿À¹ö·Îµå
____12.1.3 ÀÌÇ× »ê¼ú ¿¬»êÀÚ ¿À¹ö·Îµå
____12.1.4 ÀÌÇ× ¸â¹ö½Ê ¿¬»êÀÚ ¿À¹ö·Îµå
____12.1.5 À妽º ¿¬»êÀÚ ¿À¹ö·Îµå
____12.1.6 µ¿µî¼º ¿¬»êÀÚ ¿À¹ö·Îµå
____12.1.7 ºñ±³ ¿¬»êÀÚ ¿À¹ö·Îµå
____12.1.8 º¹ÇÕ ¿¬»êÀÚ ¿À¹ö·Îµå
____12.1.9 È£Ãâ ¿¬»êÀÚ ¿À¹ö·Îµå
____12.1.10 ¸â¹ö ÇÔ¼ö¸¦ ÁßÀ§ Çü½ÄÀ¸·Î ¾µ ¼ö ÀÖ´Â °æ¿ì
____12.1.11 ±¸Á¶ ºÐÇØ¿Í componentN() ¿¬»êÀÚ ÇÔ¼ö
__12.2 È®Àå ÇÔ¼ö¿Í È®Àå ÇÁ·ÎÆÛƼ
____12.2.1 È®Àå ÇÔ¼ö´Â Á¤ÀûÀ¸·Î µð½ºÆÐÄ¡µÊ
____12.2.2 ³ÎÀÌ µÉ ¼ö Àִ ŸÀÔ¿¡ ´ëÇÑ È®Àå ÇÔ¼ö
____12.2.3 È®Àå ÇÁ·ÎÆÛƼ
____12.2.4 Ŭ·¡½º ¸â¹ö·Î È®Àå Á¤ÀÇ
____12.2.5 ÇÔ¼ö¿Í ÇÁ·ÎÆÛƼ¿¡ ´ëÇÑ ÂüÁ¶
____12.2.6 ÇÔ¼ö ÂüÁ¶ÀÇ Å¸ÀÔ
____12.2.7 ¼ö½Å °´Ã¼ ÁöÁ¤ ¶÷´Ù¿Í ¼ö½Å °´Ã¼ ÁöÁ¤ À͸í ÇÔ¼ö
____12.2.8 À̸§Àº °°°í ÆĶó¹ÌÅ͸¸ ´Ù¸¥ È®Àå
__12.3 ÇÔ¼ö ¿À¹ö·Îµå ÇØ°á
____12.3.1 ¾î¶² ¿ä¼Ò¸¦ È£ÃâÇÒ ¼ö ÀÖÀ»±î?
____12.3.2 ¿À¹ö·Îµå Èĺ¸ ÁýÇÕ
____12.3.3 °¡Àå ±¸Ã¼ÀûÀÎ ÇÔ¼ö¸¦ Á¤Çϱâ
__12.4 ¿µ¿ª ±ÔÄ¢ ´Ù½Ã º¸±â: µðÆúÆ® ÆĶó¹ÌÅÍ, Àç±Í
____12.4.1 µðÆúÆ® ÆĶó¹ÌÅÍ¿¡¼ ´Ù¸¥ ÆĶó¹ÌÅÍ À̸§ »ç¿ëÇϱâ
____12.4.2 Àç±Í È£Ãâ°ú ²¿¸® Àç±Í
__12.5 ÀζóÀÎ ÇÔ¼ö
____12.5.1 °íÂ÷ ÇÔ¼ö ÆĶó¹ÌÅÍ·Î Àü´ÞµÈ ¶÷´ÙÀÇ ÀζóÀÌ´×
____12.5.2 Áö¿ª return°ú ºñÁö¿ª return
____12.5.3 inline¿¡¼ ÀζóÀÎµÈ ¶÷´ÙÀÇ Àü´Þ
____12.5.4 noline°ú crossinline
____12.5.5 ÀζóÀÎ ÇÁ·ÎÆÛƼ¿Í ÀζóÀÎ È®Àå
____12.5.6 reified
____12.5.7 °ø°³µÈ ÀζóÀÎ ÇÔ¼öÀÇ Á¦¾à »çÇ×
__12.6 ¿¬½À¹®Á¦
13Àå. °´Ã¼ÁöÇâ ÀÚ¼¼È÷ »ìÆ캸±â
__13.1 ³»Æ÷ Ŭ·¡½º¿Í ³»ºÎ Ŭ·¡½º
____13.1.1 ³»Æ÷ Ŭ·¡½º
____13.1.2 ³»ºÎ Ŭ·¡½º
____13.1.3 Ŭ·¡½º ¾È¿¡ ³»Æ÷½Ãų ¼ö ÀÖ´Â ´ë»ó
____13.1.4 ÀÎÅÍÆäÀ̽º ¾È¿¡ ³»Æ÷½Ãų ¼ö ÀÖ´Â ´ë»ó
__13.2 object·Î ½Ì±ÛÅÏ °´Ã¼ ¼±¾ðÇϱâ
____13.2.1 ÀÍ¸í °´Ã¼
____13.2.2 °´Ã¼°¡ ´Ù¸¥ Ŭ·¡½º³ª ÀÎÅÍÆäÀ̽º »ó¼ÓÇϱâ
____13.2.3 fun interface ¼±¾ð°ú ¶÷´Ù¸¦ »ç¿ëÇÑ ÀÍ¸í °´Ã¼ ¼±¾ð
____13.2.4 µ¿¹Ý °´Ã¼
__13.3 µ¥ÀÌÅÍ Å¬·¡½º
____13.3.1 µ¥ÀÌÅÍ Å¸ÀÔ Á¤ÀÇ Á¦¾à »çÇ×
____13.3.2 copy()¸¦ ÅëÇÑ °´Ã¼ º¹»ç
____13.3.3 µ¥ÀÌÅÍ Å¬·¡½º º»¹®¿¡ Á¤ÀÇµÈ ÇÁ·ÎÆÛƼ
____13.3.4 µ¥ÀÌÅÍ Å¬·¡½ºÀÇ »ó¼Ó
____13.3.5 Á¶¾ð: µ¥ÀÌÅÍ Å¬·¡½º´Â ºÒº¯ °´Ã¼·Î¸¸ »ç¿ëÇ϶ó
__13.4 ÀÌ³Ñ Å¬·¡½º·Î ¿©·¯ »ó¼ö°ª Á¤ÀÇÇϱâ
____13.4.1 ÀÌ³Ñ Å¬·¡½º¿¡ Á¤ÀÇµÈ ¸â¹ö ÇÔ¼ö³ª ÇÁ·ÎÆÛƼ
____13.4.2 ÀÌ³Ñ »ó¼ö: ½Ì±ÛÅÏ °´Ã¼
__13.5 °ª Ŭ·¡½º¸¦ ÅëÇØ Å¸ÀÔ ¾ÈÀü¼º°ú ¼º´É µ¿½Ã¿¡ ¾ò±â
__13.6 ºÀÀÎµÈ Å¬·¡½º³ª ºÀÀÎµÈ ÀÎÅÍÆäÀ̽º¸¦ ÅëÇØ Å¬·¡½º °èÃþ Á¦ÇÑÇϱâ
__13.7 ºÎ»ý¼ºÀÚ
____13.7.1 ÁÖ»ý¼ºÀÚ°¡ ¾ø´Â °æ¿ì ºÎ»ý¼ºÀÚ
__13.8 °¡½Ã¼º º¯°æÀÚ
____13.8.1 Ŭ·¡½º³ª °´Ã¼¿¡ ¼±¾ðµÈ À̸§ÀÇ °¡½Ã¼º
____13.8.2 ÆÐÅ°Áö ÃÖ»óÀ§¿¡ ¼±¾ðµÇ´Â À̸§ÀÇ °¡½Ã¼º
__13.9 À§ÀÓÀ» ÅëÇØ ±¸ÇöÀ» ´Ù¸¥ °´Ã¼¿¡ ¹Ì·ç±â
____13.9.1 ÀÎÅÍÆäÀ̽º ±¸Çö À§ÀÓ
____13.9.2 ÇÁ·ÎÆÛƼ À§ÀÓ
____13.9.3 ÄÚƲ¸°ÀÌ ±âº» Á¦°øÇÏ´Â À§ÀÓ
____13.9.4 getValue()¿Í setValue() ±ÔÄ¢
____13.9.5 À§ÀÓ ÇÁ·ÎÆÛƼ ÄÄÆÄÀÏ ¹æ¹ý
____13.9.6 operator fun provideDelegate()
__13.10 ŸÀÔ º°¸í
__13.11 ¿¬½À¹®Á¦
14Àå. Á¦³×¸¯½º 2
__14.1 ½ºÅ¸ ÇÁ·ÎÁ§¼Ç
__14.2 ŸÀÔ ¼Ò°Å(JVM)¿Í reified
____14.2.1 ŸÀÔ ¼Ò°Å
____14.2.2 reified: ½ÇüÈÇÑ Å¸ÀÔ
__14.3 ¿µ¿ª ÇÔ¼ö
____14.3.1 let
____14.3.2 run ÀÏ¹Ý ÇÔ¼ö¿Í run È®Àå ÇÔ¼ö
____14.3.3 with()
____14.3.4 also()
____14.3.5 apply()
____14.3.6 takeIf()¿Í takeUnless()
____14.3.7 ÄÚƲ¸° °ø½Ä ¹®¼ÀÇ ¿µ¿ª ÇÔ¼ö °ø½Ä °¡À̵å
__14.4 ¿¬½À¹®Á¦
15Àå. Ä÷º¼Ç 2
__15.1 µÎ Ä÷º¼ÇÀ» ½ÖÀ¸·Î ¿¬°áÇϱâ, ¿¬°áÀ» Ç®¾î µÎ Ä÷º¼Ç ¸¸µé±â: zip(), unzip(), zipWithNext()
__15.2 Ä÷º¼ÇÀ» Á¶°Ç¿¡ µû¶ó µÑ·Î ³ª´©±â: partition()
__15.3 fold()³ª reduce()ÀÇ ÁøÇà ´Ü°è¸¦ ¸®½ºÆ®·Î µ¹·Á¹Þ±â: runningFold(), runningFoldIndexed(), runningReduce(), runningReduceIndexed()
____15.3.1 runningFold(), runningFoldIndexed()ÀÇ º°¸í: scan()°ú scanIndexed()
__15.4 ¿ø¼Ò ¼±Åðú Á¦¿Ü: take(), drop(), takeLast(), dropLast(), takeWhile(), dropWhile(), takeLastWhile(), dropLastWhile()
____15.4.1 °³¼ö·Î ¼±ÅÃÇϰųª Á¦¿ÜÇϱâ: take(), drop(), takeLast(), dropLast()
____15.4.2 ¾Õ¿¡¼ºÎÅÍ Á¶°Ç¿¡ ¸Â´Â ¿ø¼Ò¸¦ ã°Å³ª Á¦°ÅÇϱâ: takeWhile(), dropWhile(), takeLastWhile(), dropLastWhile()
__15.5 ½½¶óÀ̵ù À©µµ¿ì¿Í µ¢¾î¸®·Î ³ª´©±â: windowed(), chunked()
__15.6 °ª ¿¬°ü½ÃÅ°±â: associate(), associateBy(), associateByTo(), associateTo(), associateWith(), associateWithTo()
____15.6.1 associate()¿Í associateTo()
____15.6.2 associateBy()¿Í associateByTo()
____15.6.3 associateWith()¿Í associateWithTo()
__15.7 Å°¿¡ µû¶ó ±×·ìÀ¸·Î ³ª´©±â: groupBy(), groupByTo()
__15.8 ±×·ìÀ» ó¸®Çϱâ À§ÇÑ Grouping °´Ã¼ ¾ò±â: groupingBy()
____15.8.1 Å° ¼¿·ºÅÍ·Î ±×·çÇÎ ¸¸µé±â: groupingBy()
____15.8.2 ±×·ìº° ¸â¹ö °³¼ö ¼¼±â: eachCount()
____15.8.3 ±×·ìº°·Î reduce()ÇÑ °á°ú¸¦ Å°¿Í ¿¬°ü½ÃÅ°±â: reduce()
____15.8.4 ±×·ìº°·Î fold()ÇÑ °á°ú¸¦ Å°¿¡ ¿¬°ü½ÃÅ°±â: aggregate()
____15.8.5 ±×·ìº°·Î ´©Àû ¿¬»êÀ» Àû¿ëÇÑ °á°ú¸¦ Å°¿¡ ¿¬°ü½ÃÅ°±â: aggregate()
__15.9 Á¶°ÇÀ» ¸¸Á·ÇÏ´Â ¿ø¼Ò °Ë»ç: none(), any(), all()
__15.10 Ä÷º¼Ç¿¡ ´ëÇÑ ÁýÇÕ ¿¬»ê: intersect(), union(), minus()
____15.10.1 Ä÷º¼Ç¿¡ ¿ø¼Ò¸¦ µ¡ºÙÀ̰ųª Ä÷º¼Ç¿¡¼ ¿ø¼Ò¸¦ Á¦°ÅÇÏ´Â ¿¬»ê: plusElement(), minusElement()
__15.11 µÚ¼¯±â ¿¬»ê: shuffled()
__15.12 ¹è¿ ¿¬»ê
____15.12.1 ¹è¿ ºñ±³: contentEquals(), contentDeepEauals()
____15.12.2 ¹è¿ÀÇ ³»¿ë º¹»ç: copyOf(), copyOfRange(), copyInto()
____15.12.3 ¹è¿¿¡ °ª ä¿ö ³Ö±â: fill()
____15.12.4 µÚ¼¯±â ¿¬»ê: shuffle()
__15.13 ½ÃÄö½º
____15.13.1 ½ÃÄö½º ¸¸µé±â: asSequence(), generateSequence(), sequence()
__15.14 ¿¬½À¹®Á¦
¸¶¹«¸®: ´ÙÀ½¿¡ °øºÎÇÒ ³»¿ë°ú Àüü µ¹¾Æº¸±â
ÀúÀÚ¼Ò°³
»ý³â¿ùÀÏ | - |
---|
ÀúÀÚ ¿ÀÇö¼®Àº ºñ»çÀ̵å¼ÒÇÁÆ®(BSIDESOFT) ÀÌ»ç·Î ÀÏÇÏ¸é¼ ¸ÅÀϸÅÀÏ °í°´ÀÇ ¿äû¿¡ µû¶ó Äڵ带 ¸¸µé¾î³»°í ÀÖ´Â Çö¾÷ °³¹ßÀÚ´Ù. ¾î¸± ¶§ óÀ½ ÄÄÇ»Å͸¦ Á¢ÇÏ°í ¸ÅȤµÈ ÈÄ °æ±â°úÇаí, KAIST Àü»êÇаú(ÇÁ·Î±×·¡¹Ö ¾ð¾î Àü°ø ¼®»ç)¸¦ °ÅÄ¡¸é¼ °è¼Ó ÄÄÇ»Å͸¦ »ç¿ëÇØ¿Ô´Ù. Á÷Àå¿¡¼´Â ÁÖ·Î ÄÚƲ¸°À̳ª ÀÚ¹Ù¸¦ »ç¿ëÇÑ ¼¹ö ÇÁ·Î±×·¡¹ÖÀ» ÇÏ°í, ÁÖ¸»À̳ª ºó ½Ã°£¿¡´Â ¹ø¿ªÀ» Çϰųª °øºÎ¸¦ ÇÏ¸é¼ Áñ°Å¿òÀ» ã´Â´Ù. ½Ã°£ÀÌ ¾ÆÁÖ ¸¹ÀÌ ³²À» ¶§´Â ½Ã¹Ä·¹ÀÌ¼Ç °ÔÀÓÀ» ÇÏ¸é¼ ¸Ó¸®¸¦ ½ÄÈ÷°í ³î°í, ¾î¶»°Ô ÇÏ¸é ¸·³»ÀÚ½ÄÀ» ÇÁ·Î±×·¡¹ÖÀÇ ¼¼°è·Î ²ø¾îµéÀÏ ¼ö ÀÖÀ»±î °í¹Î ÁßÀÎ ¾Æ ºüÀ̱⵵ ÇÏ´Ù. ¡ºÄÚ¾î ÆÄÀ̽㠾ÖÇø®ÄÉÀÌ¼Ç ÇÁ·Î±×·¡¹Ö Core Python Applications Programming Third Edition¡»(¿¡ÀÌÄÜÃâÆÇ, 2014)À» ½ÃÀÛÀ¸·Î ¡ºKotlin in Action¡»(¿¡ÀÌÄÜÃâÆÇ, 2017), ¡ºÇÑ ±ÇÀ¸·Î Àд ÄÄÇ»ÅÍ ±¸Á¶¿Í ÇÁ·Î±×·¡¹Ö¡»(Ã¥¸¸, 2021), ¡ºÆÄÀ̽ãÀ¸·Î »ìÆ캸´Â ¾ÆÅ°ÅØó ÆÐÅÏ¡»(ÇѺû¹Ìµð¾î, 2021), ¡ºProgramming in Scala 4/e¡»(¿¡ÀÌÄÜÃâÆÇ, 2021) µî 30¿© ±ÇÀÇ Ã¥À» ¹ø¿ªÇß´Ù.
ÆîÃ帱âÁÖ°£·©Å·
´õº¸±â»óÇ°Á¤º¸Á¦°ø°í½Ã
À̺¥Æ® ±âȹÀü
Àü°øµµ¼/´ëÇб³Àç ºÐ¾ß¿¡¼ ¸¹Àº ȸ¿øÀÌ ±¸¸ÅÇÑ Ã¥
ÆǸÅÀÚÁ¤º¸
»óÈ£ |
(ÁÖ)±³º¸¹®°í |
---|---|
´ëÇ¥ÀÚ¸í |
¾Èº´Çö |
»ç¾÷ÀÚµî·Ï¹øÈ£ |
102-81-11670 |
¿¬¶ôó |
1544-1900 |
ÀüÀÚ¿ìÆíÁÖ¼Ò |
callcenter@kyobobook.co.kr |
Åë½ÅÆǸž÷½Å°í¹øÈ£ |
01-0653 |
¿µ¾÷¼ÒÀçÁö |
¼¿ïƯº°½Ã Á¾·Î±¸ Á¾·Î 1(Á¾·Î1°¡,±³º¸ºôµù) |
±³È¯/ȯºÒ
¹ÝÇ°/±³È¯ ¹æ¹ý |
¡®¸¶ÀÌÆäÀÌÁö > Ãë¼Ò/¹ÝÇ°/±³È¯/ȯºÒ¡¯ ¿¡¼ ½Åû ¶Ç´Â 1:1 ¹®ÀÇ °Ô½ÃÆÇ ¹× °í°´¼¾ÅÍ(1577-2555)¿¡¼ ½Åû °¡´É |
---|---|
¹ÝÇ°/±³È¯°¡´É ±â°£ |
º¯½É ¹ÝÇ°ÀÇ °æ¿ì Ãâ°í¿Ï·á ÈÄ 6ÀÏ(¿µ¾÷ÀÏ ±âÁØ) À̳»±îÁö¸¸ °¡´É |
¹ÝÇ°/±³È¯ ºñ¿ë |
º¯½É ȤÀº ±¸¸ÅÂø¿À·Î ÀÎÇÑ ¹ÝÇ°/±³È¯Àº ¹Ý¼Û·á °í°´ ºÎ´ã |
¹ÝÇ°/±³È¯ ºÒ°¡ »çÀ¯ |
·¼ÒºñÀÚÀÇ Ã¥ÀÓ ÀÖ´Â »çÀ¯·Î »óÇ° µîÀÌ ¼Õ½Ç ¶Ç´Â ÈÑ¼ÕµÈ °æ¿ì ·¼ÒºñÀÚÀÇ »ç¿ë, Æ÷Àå °³ºÀ¿¡ ÀÇÇØ »óÇ° µîÀÇ °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì ·º¹Á¦°¡ °¡´ÉÇÑ »óÇ° µîÀÇ Æ÷ÀåÀ» ÈѼÕÇÑ °æ¿ì ·½Ã°£ÀÇ °æ°ú¿¡ ÀÇÇØ ÀçÆǸŰ¡ °ï¶õÇÑ Á¤µµ·Î °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì ·ÀüÀÚ»ó°Å·¡ µî¿¡¼ÀÇ ¼ÒºñÀÚº¸È£¿¡ °üÇÑ ¹ý·üÀÌ Á¤ÇÏ´Â ¼ÒºñÀÚ Ã»¾àöȸ Á¦ÇÑ ³»¿ë¿¡ ÇØ´çµÇ´Â °æ¿ì |
»óÇ° Ç°Àý |
°ø±Þ»ç(ÃâÆÇ»ç) Àç°í »çÁ¤¿¡ ÀÇÇØ Ç°Àý/Áö¿¬µÉ ¼ö ÀÖÀ½ |
¼ÒºñÀÚ ÇÇÇغ¸»ó |
·»óÇ°ÀÇ ºÒ·®¿¡ ÀÇÇÑ ±³È¯, A/S, ȯºÒ, Ç°Áúº¸Áõ ¹× ÇÇÇغ¸»ó µî¿¡ °üÇÑ »çÇ×Àº¼ÒºñÀÚºÐÀïÇØ°á ±âÁØ (°øÁ¤°Å·¡À§¿øȸ °í½Ã)¿¡ ÁØÇÏ¿© ó¸®µÊ ·´ë±Ý ȯºÒ ¹× ȯºÒÁö¿¬¿¡ µû¸¥ ¹è»ó±Ý Áö±Þ Á¶°Ç, ÀýÂ÷ µîÀº ÀüÀÚ»ó°Å·¡ µî¿¡¼ÀǼҺñÀÚ º¸È£¿¡ °üÇÑ ¹ý·ü¿¡ µû¶ó ó¸®ÇÔ |
¹è¼Û¾È³»
±³º¸¹®°í »óÇ°Àº Åùè·Î ¹è¼ÛµÇ¸ç, Ãâ°í¿Ï·á 1~2Àϳ» »óÇ°À» ¹Þ¾Æ º¸½Ç ¼ö ÀÖ½À´Ï´Ù.
Ãâ°í°¡´É ½Ã°£ÀÌ ¼·Î ´Ù¸¥ »óÇ°À» ÇÔ²² ÁÖ¹®ÇÒ °æ¿ì Ãâ°í°¡´É ½Ã°£ÀÌ °¡Àå ±ä »óÇ°À» ±âÁØÀ¸·Î ¹è¼ÛµË´Ï´Ù.
±ººÎ´ë, ±³µµ¼Ò µî ƯÁ¤±â°üÀº ¿ìü±¹ Åù踸 ¹è¼Û°¡´ÉÇÕ´Ï´Ù.
¹è¼Ûºñ´Â ¾÷ü ¹è¼Ûºñ Á¤Ã¥¿¡ µû¸¨´Ï´Ù.