»óǰ ¾È³» ¹× ȯºÒ, ±³È¯, ¹è¼Û¹®ÀÇ | |
- °¡°Ô ÀüȹøÈ£ : | 1544-1900 |
- Àüȹ®ÀÇ ½Ã°£ : |
¿ÀÀü 9½ÃºÎÅÍ ¿ÀÈÄ 6½Ã±îÁö (¸ÅÁÖ ¿ù¿äÀÏ, È¿äÀÏ, ¼ö¿äÀÏ, ¸ñ¿äÀÏ, ±Ý¿äÀÏ, °øÈÞÀÏ Á¦¿Ü) |
- °¡°Ô À̸ÞÀÏ : | ink@kyobobook.co.kr |
- ÀÌ¿ë Åùèȸ»ç : | CJ´ëÇÑÅë¿î |
ÆÇ¸Å°¡°ÔÁ¤º¸ |
|
- »ç¾÷ÀÚ¸í : | (ÁÖ)±³º¸¹®°í |
- »ç¾÷ÀÚµî·Ï¹øÈ£ : | 102-81-11670 |
- Åë½ÅÆÇ¸Å¾÷½Å°í : | 01-0653 |
- Çö±Ý¿µ¼öÁõ : ¹ß±Þ°¡´É |
|
ÀüÈÁÖ¹® ¹× °áÁ¦¹®ÀÇ |
|
- ²ÉÇÇ´Â ¾ÆÄ§¸¶À» : | 1644-8422 |
°¡°Ô¿Í Á÷°Å·¡¸¦ ÇÏ½Ã¸é ²É¼ÛÀÌ Àû¸³ ¹× °¢Á¾ ÇýÅÿ¡¼ Á¦¿ÜµÇ°í, ¸¸ÀÏÀÇ ¹®Á¦°¡ ¹ß»ýÇÏ´Â °æ¿ì¿¡µµ ²É¸¶ÀÇ µµ¿òÀ» ¹ÞÀ¸½Ç ¼ö ¾ø½À´Ï´Ù. °¡°ÔÀÇ ºÎ´çÇÑ ¿ä±¸, ºÒ°øÁ¤ ÇàÀ§ µî¿¡ ´ëÇØ¼µµ ²É¸¶·Î Á÷Á¢ ÀüÈÁÖ¼¼¿ä. |
»ó¼¼Á¤º¸ | ±¸¸ÅÈıâ (0) | »óǰ Q&A (0) | ¹è¼Û/±³È¯/ȯºÒ ¾È³» |
Ã¥¼Ò°³2025³â 02¿ù 27ÀÏ Ãâ°£ | ISBN : 1161759697 | 804ÂÊ | ±Ô°Ýèâ
¸ñÂ÷1ºÎ ÄÚÆ²¸° ¼Ò°³
1Àå ÄÚÆ²¸°À̶õ ¹«¾ùÀ̸ç, ¿Ö ÇÊ¿äÇѰ¡?
1.1 ÄÚÆ²¸° ¸Àº¸±â
1.2 ÄÚÆ²¸°ÀÇ ÁÖ¿ä Æ¯¼º
1.2.1 ÄÚÆ²¸° ¿ë·Ê: ¾Èµå·ÎÀ̵å, ¼¹ö, ÀÚ¹Ù°¡ ½ÇÇàµÇ´Â ¸ðµç °÷, ±× ¿ÜÀÇ ¿ëµµ
1.2.2 Á¤Àû ŸÀÔ ÁöÁ¤À¸·Î ÀÎÇØ ÄÚÆ²¸° ¼º´É, ½Å·Ú¼º, À¯Áö º¸¼ö¼ºÀÌ ¸ðµÎ ÁÁ
¾ÆÁü
1.2.3 ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö°ú °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹ÖÀÇ Á¶ÇÕÀÌ ÄÚÆ²¸°À» ¾ÈÀüÇϰí
À¯¿¬ÇÏ°Ô ÇÑ´Ù
1.2.4 ÄÚ·çÆ¾À» ¾²¸é µ¿½Ã¼º, ºñµ¿±â Äڵ带 ÀÚ¿¬½º·´°í ±¸Á¶ÀûÀ¸·Î »ç¿ëÇÒ ¼ö
ÀÖ´Ù
1.2.5 ÄÚÆ²¸°À» ¸ðµç ¸ñÀû¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Ù. ÄÚÆ²¸°Àº ¿ÀǼҽºÀ̸ç, ¿©·¯ºÐ
ÀÇ ±â¿©¿¡ ´ëÇØ ¿·Á ÀÖ´Ù
1.3 ÄÚÆ²¸°ÀÌ ÀÚÁÖ ¾²ÀÌ´Â ºÐ¾ß
1.3.1 ¹é¿£µå Áö¿ø: ÄÚÆ²¸° ¼¹ö ÇÁ·Î±×·¡¹Ö
1.3.2 ¸ð¹ÙÀÏ °³¹ß: ¾Èµå·ÎÀ̵å´Â ÄÚÆ²¸° ¿ì¼±ÀÌ´Ù
1.3.3 ´ÙÁß Ç÷§Æû: iOS, JVM, JS ¹× ±× ¿ÜÀÇ Ç÷§Æû¿¡¼ ºñÁî´Ï½º ·ÎÁ÷À» °ø
À¯Çϰí ÄÚµå Áߺ¹À» ÃÖ¼ÒÈÇϱâ
1.4 ÄÚÆ²¸°ÀÇ Ã¶ÇÐ
1.4.1 ÄÚÆ²¸°Àº ½Ç¿ëÀûÀÎ ¾ð¾î´Ù
1.4.2 ÄÚÆ²¸°Àº °£°áÇÏ´Ù
1.4.3 ÄÚÆ²¸°Àº ¾ÈÀüÇÏ´Ù
1.4.4 ÄÚÆ²¸°Àº »óÈ£¿î¿ë¼ºÀÌ ÁÁ´Ù
1.5 ÄÚÆ²¸° µµ±¸ »ç¿ë
1.5.1 ÄÚÆ²¸° ÄÚµå ¼³Á¤°ú ½ÇÇà
1.5.2 ÄÚÆ²¸° ÄÚµå ÄÄÆÄÀÏ
¿ä¾à
2Àå ÄÚÆ²¸° ±âÃÊ
2.1 ±âº» ¿ä¼Ò: ÇÔ¼ö¿Í º¯¼ö
2.1.1 ù ¹øÂ° ÄÚÆ²¸° ÇÁ·Î±×·¥ ÀÛ¼º: Hello, World!
2.1.2 ÆÄ¶ó¹ÌÅÍ¿Í ¹Ýȯ°ªÀÌ ÀÖ´Â ÇÔ¼ö ¼±¾ð
2.1.3 ½Ä º»¹®À» »ç¿ëÇØ ÇÔ¼ö¸¦ ´õ °£°áÇÏ°Ô Á¤ÀÇ
2.1.4 µ¥ÀÌÅ͸¦ ÀúÀåÇϱâ À§ÇØ º¯¼ö ¼±¾ð
2.1.5 º¯¼ö¸¦ Àбâ Àü¿ë º¯¼ö³ª Àç´ëÀÔ °¡´É º¯¼ö·Î Ç¥½Ã
2.1.6 ´õ ½±°Ô ¹®ÀÚ¿ Çü½Ä ÁöÁ¤: ¹®ÀÚ¿ ÅÛÇø´
2.2 Çൿ°ú µ¥ÀÌÅÍ Ä¸½¶È: Ŭ·¡½º¿Í ÇÁ·ÎÆÛƼ
2.2.1 Ŭ·¡½º¿Í µ¥ÀÌÅ͸¦ ¿¬°ü½Ã۰í, Á¢±Ù °¡´ÉÇÏ°Ô ¸¸µé±â: ÇÁ·ÎÆÛƼ
2.2.2 ÇÁ·ÎÆÛƼ °ªÀ» ÀúÀåÇÏÁö ¾Ê°í °è»ê: Ä¿½ºÅÒ Á¢±ÙÀÚ
2.2.3 ÄÚÆ²¸° ¼Ò½ºÄÚµå ±¸Á¶: µð·ºÅ͸®¿Í ÆÐŰÁö
2.3 ¼±Åà ǥÇö°ú ó¸®: À̳Ѱú when
2.3.1 ÀÌ³Ñ Å¬·¡½º¿Í ÀÌ³Ñ »ó¼ö Á¤ÀÇ
2.3.2 whenÀ¸·Î ÀÌ³Ñ Å¬·¡½º ´Ù·ç±â
2.3.3 when½ÄÀÇ ´ë»óÀ» º¯¼ö¿¡ Æ÷ȹ
2.3.4 whenÀÇ ºÐ±â Á¶°Ç¿¡ ÀÓÀÇÀÇ °´Ã¼ »ç¿ë
2.3.5 ÀÎÀÚ ¾ø´Â when »ç¿ë
2.3.6 ½º¸¶Æ® ij½ºÆ®: ŸÀÔ °Ë»ç¿Í ŸÀÔ Ä³½ºÆ® Á¶ÇÕ
2.3.7 ¸®ÆÑÅ͸µ: if¸¦ whenÀ¸·Î º¯°æ
2.3.8 if¿Í whenÀÇ ºÐ±â¿¡¼ ºí·Ï »ç¿ë
2.4 ´ë»ó ÀÌÅÍ·¹À̼Ç: while°ú for ·çÇÁ
2.4.1 Á¶°ÇÀÌ ÂüÀÎ µ¿¾È ÄÚµå ¹Ýº¹: while ·çÇÁ
2.4.2 ¼ö¿¡ ´ëÇØ ÀÌÅÍ·¹À̼Ç: ¹üÀ§¿Í ¼ø¿
2.4.3 ¸Ê¿¡ ´ëÇØ ÀÌÅÍ·¹À̼Ç
2.4.4 inÀ¸·Î Ä÷º¼ÇÀ̳ª ¹üÀ§ÀÇ ¿ø¼Ò °Ë»ç
2.5 ÄÚÆ²¸°¿¡¼ ¿¹¿Ü ´øÁö°í Àâ¾Æ³»±â
2.5.1 try, catch, finally¸¦ »ç¿ëÇÑ ¿¹¿Ü ó¸®¿Í ¿À·ù º¹±¸
2.5.2 try¸¦ ½ÄÀ¸·Î »ç¿ë
¿ä¾à
3Àå ÇÔ¼ö Á¤ÀÇ¿Í È£Ãâ
3.1 ÄÚÆ²¸°¿¡¼ Ä÷º¼Ç ¸¸µé±â
3.2 ÇÔ¼ö¸¦ È£ÃâÇϱ⠽±°Ô ¸¸µé±â
3.2.1 À̸§ ºÙÀÎ ÀÎÀÚ
3.2.2 µðÆúÆ® ÆÄ¶ó¹ÌÅÍ °ª
3.2.3 Á¤ÀûÀÎ À¯Æ¿¸®Æ¼ Ŭ·¡½º ¾ø¾Ö±â: ÃÖ»óÀ§ ÇÔ¼ö¿Í ÇÁ·ÎÆÛƼ
3.3 ¸Þ¼µå¸¦ ´Ù¸¥ Ŭ·¡½º¿¡ Ãß°¡: È®Àå ÇÔ¼ö¿Í È®Àå ÇÁ·ÎÆÛƼ
3.3.1 ÀÓÆ÷Æ®¿Í È®Àå ÇÔ¼ö
3.3.2 ÀÚ¹Ù¿¡¼ È®Àå ÇÔ¼ö È£Ãâ
3.3.3 È®Àå ÇÔ¼ö·Î À¯Æ¿¸®Æ¼ ÇÔ¼ö Á¤ÀÇ
3.3.4 È®Àå ÇÔ¼ö´Â ¿À¹ö¶óÀ̵å ÇÒ ¼ö ¾ø´Ù
3.3.5 È®Àå ÇÁ·ÎÆÛƼ
3.4 Ä÷º¼Ç ó¸®: °¡º¯ ±æÀÌ ÀÎÀÚ, ÁßÀ§ ÇÔ¼ö È£Ãâ, ¶óÀ̺귯¸® Áö¿ø
3.4.1 ÀÚ¹Ù Ä÷º¼Ç API È®Àå
3.4.2 °¡º¯ ÀÎÀÚ ÇÔ¼ö: ÀÎÀÚÀÇ °³¼ö°¡ ´Þ¶óÁú ¼ö ÀÖ´Â ÇÔ¼ö Á¤ÀÇ
3.4.3 ½Ö(Æ©ÇÃ) ´Ù·ç±â: ÁßÀ§ È£Ãâ°ú ±¸Á¶ ºÐÇØ ¼±¾ð
3.5 ¹®ÀÚ¿°ú Á¤±Ô½Ä ´Ù·ç±â
3.5.1 ¹®ÀÚ¿ ³ª´©±â
3.5.2 Á¤±Ô½Ä°ú 3Áß µû¿ÈÇ¥·Î ¹Àº ¹®ÀÚ¿
3.5.3 ¿©·¯ ÁÙ 3Áß µû¿ÈÇ¥ ¹®ÀÚ¿
3.6 ÄÚµå ±ò²ûÇÏ°Ô ´Ùµë±â: ·ÎÄà ÇÔ¼ö¿Í È®Àå
¿ä¾à
4Àå Ŭ·¡½º, °´Ã¼, ÀÎÅÍÆäÀ̽º
4.1 Ŭ·¡½º °èÃþ Á¤ÀÇ
4.1.1 ÄÚÆ²¸° ÀÎÅÍÆäÀ̽º
4.1.2 open, final, abstract º¯°æÀÚ: ±âº»ÀûÀ¸·Î final
4.1.3 °¡½Ã¼º º¯°æÀÚ: ±âº»ÀûÀ¸·Î °ø°³
4.1.4 ³»ºÎ Ŭ·¡½º¿Í ³»Æ÷µÈ Ŭ·¡½º: ±âº»ÀûÀ¸·Î ³»Æ÷ Ŭ·¡½º
4.1.5 ºÀÀÎµÈ Å¬·¡½º: È®ÀåÀÌ Á¦ÇÑµÈ Å¬·¡½º °èÃþ Á¤ÀÇ
4.2 »·ÇÏÁö ¾ÊÀº »ý¼ºÀÚ³ª ÇÁ·ÎÆÛƼ¸¦ °®´Â Ŭ·¡½º ¼±¾ð
4.2.1 Ŭ·¡½º ÃʱâÈ: ÁÖ »ý¼ºÀÚ¿Í ÃʱâÈ ºí·Ï
4.2.2 ºÎ »ý¼ºÀÚ: »óÀ§ Ŭ·¡½º¸¦ ´Ù¸¥ ¹æ½ÄÀ¸·Î ÃʱâÈ
4.2.3 ÀÎÅÍÆäÀ̽º¿¡ ¼±¾ðµÈ ÇÁ·ÎÆÛƼ ±¸Çö
4.2.4 °ÔÅÍ¿Í ¼¼ÅÍ¿¡¼ µÞ¹ÞħÇÏ´Â Çʵ忡 Á¢±Ù
4.2.5 Á¢±ÙÀÚÀÇ °¡½Ã¼º º¯°æ
4.3 ÄÄÆÄÀÏ·¯°¡ »ý¼ºÇÑ ¸Þ¼µå: µ¥ÀÌÅÍ Å¬·¡½º¿Í Ŭ·¡½º À§ÀÓ
4.3.1 ¸ðµç Ŭ·¡½º°¡ Á¤ÀÇÇØ¾ß ÇÏ´Â ¸Þ¼µå
4.3.2 µ¥ÀÌÅÍ Å¬·¡½º: ¸ðµç Ŭ·¡½º°¡ Á¤ÀÇÇØ¾ß ÇÏ´Â ¸Þ¼µå¸¦ ÀÚµ¿À¸·Î »ý¼º
4.4 object Ű¿öµå: Ŭ·¡½º ¼±¾ð°ú ÀνºÅϽº »ý¼ºÀ» ÇѲ¨¹ø¿¡ Çϱâ
4.4.1 °´Ã¼ ¼±¾ð: ½Ì±ÛÅÏÀ» ½±°Ô ¸¸µé±â
4.4.2 µ¿¹Ý °´Ã¼: ÆÑÅ丮 ¸Þ¼µå¿Í Á¤Àû ¸â¹ö°¡ µé¾î°¥ Àå¼Ò
4.4.3 µ¿¹Ý °´Ã¼¸¦ ÀÏ¹Ý °´Ã¼Ã³·³ »ç¿ë
4.4.4 °´Ã¼ ½Ä: ÀÍ¸í ³»ºÎ Ŭ·¡½º¸¦ ´Ù¸¥ ¹æ½ÄÀ¸·Î ÀÛ¼º
4.5 ºÎ°¡ ºñ¿ë ¾øÀÌ Å¸ÀÔ ¾ÈÀü¼º Ãß°¡: ÀζóÀΠŬ·¡½º
¿ä¾à
5Àå ¶÷´Ù¸¦ »ç¿ëÇÑ ÇÁ·Î±×·¡¹Ö
5.1 ¶÷´Ù½Ä°ú ¸â¹ö ÂüÁ¶
5.1.1 ¶÷´Ù ¼Ò°³: ÄÚµå ºí·ÏÀ» °ªÀ¸·Î ´Ù·ç±â
5.1.2 ¶÷´Ù¿Í Ä÷º¼Ç
5.1.3 ¶÷´Ù½ÄÀÇ ¹®¹ý
5.1.4 ÇöÀç ¿µ¿ª¿¡ ÀÖ´Â º¯¼ö Á¢±Ù
5.1.5 ¸â¹ö ÂüÁ¶
5.1.6 °ª°ú ¿«ÀΠȣÃâ °¡´É ÂüÁ¶
5.2 ÀÚ¹ÙÀÇ ÇÔ¼öÇü ÀÎÅÍÆäÀ̽º »ç¿ë: ´ÜÀÏ Ãß»ó ¸Þ¼µå
5.2.1 ¶÷´Ù¸¦ ÀÚ¹Ù ¸Þ¼µåÀÇ ÆÄ¶ó¹ÌÅÍ·Î Àü´Þ
5.2.2 SAM º¯È¯: ¶÷´Ù¸¦ ÇÔ¼öÇü ÀÎÅÍÆäÀ̽º·Î ¸í½ÃÀû º¯È¯
5.3 ÄÚÆ²¸°¿¡¼ SAM ÀÎÅÍÆäÀ̽º Á¤ÀÇ: fun interface
5.4 ¼ö½Å °´Ã¼ ÁöÁ¤ ¶÷´Ù: with, apply,also
5.4.1 with ÇÔ¼ö
5.4.2 apply ÇÔ¼ö
5.4.3 °´Ã¼¿¡ Ãß°¡ ÀÛ¾÷ ¼öÇà: also
¿ä¾à
6Àå Ä÷º¼Ç°ú ½ÃÄö½º
6.1 Ä÷º¼Ç¿¡ ´ëÇÑ ÇÔ¼öÇü API
6.1.1 ¿ø¼Ò Á¦°Å¿Í º¯È¯: filter¿Í map
6.1.2 Ä÷º¼Ç °ª ´©Àû: reduce¿Í fold
6.1.3 Ä÷º¼Ç¿¡ ¼ú¾î Àû¿ë: all, any, none, count, find
6.1.4 ¸®½ºÆ®¸¦ ºÐÇÒÇØ ¸®½ºÆ®ÀÇ ½ÖÀ¸·Î ¸¸µé±â: partition
6.1.5 ¸®½ºÆ®¸¦ ¿©·¯ ±×·ìÀ¸·Î ÀÌ·ïÁø ¸ÊÀ¸·Î ¹Ù²Ù±â: groupBy
6.1.6 Ä÷º¼ÇÀ» ¸ÊÀ¸·Î º¯È¯: associate, associateWith, associateBy
6.1.7 °¡º¯ Ä÷º¼ÇÀÇ ¿ø¼Ò º¯°æ: replaceAll, fill
6.1.8 Ä÷º¼ÇÀÇ Æ¯º°ÇÑ °æ¿ì ó¸®: ifEmpty
6.1.9 Ä÷º¼Ç ³ª´©±â: chunked¿Í windowed
6.1.10 Ä÷º¼Ç ÇÕÄ¡±â: zip
6.1.11 ³»Æ÷µÈ Ä÷º¼ÇÀÇ ¿ø¼Ò ó¸®: flatMap°ú flatten
6.2 Áö¿¬ °è»ê Ä÷º¼Ç ¿¬»ê: ½ÃÄö½º
6.2.1 ½ÃÄö½º ¿¬»ê ½ÇÇà: Áß°£ ¿¬»ê°ú ÃÖÁ¾ ¿¬»ê
6.2.2 ½ÃÄö½º ¸¸µé±â
¿ä¾à
7Àå ³ÎÀÌ µÉ ¼ö ÀÖ´Â °ª
7.1 NullPointerExceptionÀ» ÇÇÇÏ°í °ªÀÌ ¾ø´Â °æ¿ì ó¸®: ³Î °¡´É¼º
7.2 ³ÎÀÌ µÉ ¼ö Àִ ŸÀÔÀ¸·Î ³ÎÀÌ µÉ ¼ö ÀÖ´Â º¯¼ö ¸í½Ã
7.3 ŸÀÔÀÇ ÀÇ¹Ì ÀÚ¼¼È÷ »ìÆìº¸±â
7.4 ¾ÈÀüÇÑ È£Ãâ ¿¬»êÀÚ·Î null °Ë»ç¿Í ¸Þ¼µå È£Ãâ ÇÕÄ¡±â: ?.
7.5 ¿¤ºñ½º ¿¬»êÀÚ·Î null¿¡ ´ëÇÑ ±âº»°ª Á¦°ø: ?:
7.6 ¿¹¿Ü¸¦ ¹ß»ý½ÃŰÁö ¾Ê°í ¾ÈÀüÇÏ°Ô Å¸ÀÔÀ» ij½ºÆ®Çϱâ: as?
7.7 ³Î ¾Æ´Ô ´Ü¾ð: !!
7.8 let ÇÔ¼ö
7.9 Á÷Á¢ ÃʱâÈÇÏÁö ¾Ê´Â ³ÎÀÌ ¾Æ´Ñ ŸÀÔ: Áö¿¬ ÃʱâÈ ÇÁ·ÎÆÛƼ
7.10 ¾ÈÀüÇÑ È£Ãâ ¿¬»êÀÚ ¾øÀÌ Å¸ÀÔ È®Àå: ³ÎÀÌ µÉ ¼ö Àִ ŸÀÔ¿¡ ´ëÇÑ È®Àå
7.11 ŸÀÔ ÆÄ¶ó¹ÌÅÍÀÇ ³Î °¡´É¼º
7.12 ³Î °¡´É¼º°ú ÀÚ¹Ù
7.12.1 Ç÷§Æû ŸÀÔ
7.12.2 »ó¼Ó
¿ä¾à
8Àå ±âº» ŸÀÔ, Ä÷º¼Ç, ¹è¿
8.1 ¿ø½Ã ŸÀÔ°ú ±âº» ŸÀÔ
8.1.1 Á¤¼ö, ºÎµ¿¼Ò¼öÁ¡ ¼ö, ¹®ÀÚ, ºÒ¸®¾ð °ªÀ» ¿ø½Ã ŸÀÔÀ¸·Î Ç¥Çö
8.1.2 ¾ç¼ö¸¦ Ç¥ÇöÇϱâ À§ÇØ ¸ðµç ºñÆ® ¹üÀ§ »ç¿ë: ºÎÈ£ ¾ø´Â ¼ö ŸÀÔ
8.1.3 ³ÎÀÌ µÉ ¼ö ÀÖ´Â ±âº» ŸÀÔ: Int?, Boolean? µî
8.1.4 ¼ö º¯È¯
8.1.5 Any¿Í Any?: ÄÚÆ²¸° ŸÀÔ °èÃþÀÇ »Ñ¸®
8.1.6 Unit ŸÀÔ: ÄÚÆ²¸°ÀÇ void
8.1.7 Nothing ŸÀÔ: ÀÌ ÇÔ¼ö´Â °áÄÚ ¹ÝȯµÇÁö ¾Ê´Â´Ù
8.2 Ä÷º¼Ç°ú ¹è¿
8.2.1 ³Î¿¡ µÉ ¼ö ÀÖ´Â °ªÀÇ Ä÷º¼Ç°ú ³ÎÀÌ µÉ ¼ö ÀÖ´Â Ä÷º¼Ç
8.2.2 Àбâ Àü¿ë°ú º¯°æ °¡´ÉÇÑ Ä÷º¼Ç
8.2.3 ÄÚÆ²¸° Ä÷º¼Ç°ú ÀÚ¹Ù Ä÷º¼ÇÀº ¹ÐÁ¢È÷ ¿¬°üµÊ
8.2.4 ÀÚ¹Ù¿¡¼ ¼±¾ðÇÑ Ä÷º¼ÇÀº ÄÚÆ²¸°¿¡¼ Ç÷§Æû ŸÀÔÀ¸·Î º¸ÀÓ
8.2.5 ¼º´É°ú »óÈ£¿î¿ëÀ» À§ÇØ °´Ã¼ÀÇ ¹è¿À̳ª ¿ø½Ã ŸÀÔÀÇ ¹è¿À» ¸¸µé±â
¿ä¾à
2ºÎ ÄÚÆ²¸°À» ÄÚÆ²¸°´ä°Ô »ç¿ëÇϱâ
9Àå ¿¬»êÀÚ ¿À¹ö·Îµù°ú ´Ù¸¥ °ü·Ê
9.1 »ê¼ú ¿¬»êÀÚ¸¦ ¿À¹ö·ÎµåÇØ¼ ÀÓÀÇÀÇ Å¬·¡½º¿¡ ´ëÇÑ ¿¬»êÀ» ´õ Æí¸®ÇÏ°Ô ¸¸µé±â
9.1.1 plus, times, divide µî: ÀÌÇ× »ê¼ú ¿¬»ê ¿À¹ö·Îµù
9.1.2 ¿¬»êÀ» Àû¿ëÇÑ ´ÙÀ½¿¡ ±× °á°ú¸¦ ¹Ù·Î ´ëÀÔ: º¹ÇÕ ´ëÀÔ ¿¬»êÀÚ ¿À¹ö·Î
µù
9.1.3 ÇÇ¿¬»êÀÚ°¡ 1°³»ÓÀÎ ¿¬»êÀÚ: ´ÜÇ× ¿¬»êÀÚ ¿À¹ö·Îµù
9.2 ºñ±³ ¿¬»êÀÚ¸¦ ¿À¹ö·ÎµùÇØ¼ °´Ã¼µé »çÀÌÀÇ °ü°è¸¦ ½±°Ô °Ë»ç
9.2.1 µ¿µî¼º ¿¬»êÀÚ: equals
9.2.2 ¼ø¼ ¿¬»êÀÚ: compareTo (¡´, ¡µ, ¡´=, ¡µ=)
9.3 Ä÷º¼Ç°ú ¹üÀ§¿¡ ´ëÇØ ¾µ ¼ö ÀÖ´Â °ü·Ê
9.3.1 À妽º·Î ¿ø¼Ò Á¢±Ù: get°ú set
9.3.2 ¾î¶² °´Ã¼°¡ Ä÷º¼Ç¿¡ µé¾îÀÖ´ÂÁö °Ë»ç: in °ü·Ê
9.3.3 °´Ã¼·ÎºÎÅÍ ¹üÀ§ ¸¸µé±â: rangeTo¿Í rangeUntil °ü·Ê
9.3.4 ÀÚ½ÅÀÇ Å¸ÀÔ¿¡ ´ëÇØ ·çÇÁ ¼öÇà: iterator °ü·Ê
9.4 component ÇÔ¼ö¸¦ »ç¿ëÇØ ±¸Á¶ ºÐÇØ ¼±¾ð Á¦°ø
9.4.1 ±¸Á¶ ºÐÇØ ¼±¾ð°ú ·çÇÁ
9.4.2 _ ¹®ÀÚ¸¦ »ç¿ëÇØ ±¸Á¶ ºÐÇØ °ª ¹«½Ã
9.5 ÇÁ·ÎÆÛƼ Á¢±ÙÀÚ ·ÎÁ÷ ÀçȰ¿ë: À§ÀÓ ÇÁ·ÎÆÛƼ
9.5.1 À§ÀÓ ÇÁ·ÎÆÛƼÀÇ ±âº» ¹®¹ý°ú ³»ºÎ µ¿ÀÛ
9.5.2 À§ÀÓ ÇÁ·ÎÆÛƼ »ç¿ë: by lazy()¸¦ »ç¿ëÇÑ Áö¿¬ ÃʱâÈ
9.5.3 À§ÀÓ ÇÁ·ÎÆÛƼ ±¸Çö
9.5.4 À§ÀÓ ÇÁ·ÎÆÛƼ´Â Ä¿½ºÅÒ Á¢±ÙÀÚ°¡ ÀÖ´Â °¨ÃçÁø ÇÁ·ÎÆÛƼ·Î º¯È¯µÈ´Ù
9.5.5 ¸Ê¿¡ À§ÀÓÇØ¼ µ¿ÀûÀ¸·Î ¾ÖÆ®¸®ºäÆ® Á¢±Ù
9.5.6 ½ÇÀü ÇÁ·¹ÀÓ¿öÅ©°¡ À§ÀÓ ÇÁ·ÎÆÛƼ¸¦ Ȱ¿ëÇÏ´Â ¹æ¹ý
¿ä¾à
10Àå °íÂ÷ ÇÔ¼ö: ¶÷´Ù¸¦ ÆÄ¶ó¹ÌÅÍ¿Í ¹Ýȯ°ªÀ¸·Î »ç¿ë
10.1 ´Ù¸¥ ÇÔ¼ö¸¦ ÀÎÀÚ·Î ¹Þ°Å³ª ¹ÝȯÇÏ´Â ÇÔ¼ö Á¤ÀÇ: °íÂ÷ ÇÔ¼ö
10.1.1 ÇÔ¼ö ŸÀÔÀº ¶÷´ÙÀÇ ÆÄ¶ó¹ÌÅÍ Å¸ÀÔ°ú ¹Ýȯ ŸÀÔÀ» ÁöÁ¤ÇÑ´Ù
10.1.2 ÀÎÀÚ·Î Àü´Þ ¹ÞÀº ÇÔ¼ö È£Ãâ
10.1.3 ÀÚ¹Ù¿¡¼ ÄÚÆ²¸° ÇÔ¼ö ŸÀÔ »ç¿ë
10.1.4 ÇÔ¼ö ŸÀÔÀÇ ÆÄ¶ó¹ÌÅÍ¿¡ ´ëÇØ ±âº»°ªÀ» ÁöÁ¤ÇÒ ¼ö ÀÖ°í, ³ÎÀÌ µÉ ¼öµµ
ÀÖ´Ù
10.1.5 ÇÔ¼ö¸¦ ÇÔ¼ö¿¡¼ ¹Ýȯ
10.1.6 ¶÷´Ù¸¦ Ȱ¿ëÇØ Áߺ¹À» ÁÙ¿© ÄÚµå Àç»ç¿ë¼º ³ôÀ̱â
10.2 ÀζóÀÎ ÇÔ¼ö¸¦ »ç¿ëÇØ ¶÷´ÙÀÇ ºÎ°¡ ºñ¿ë ¾ø¾Ö±â
10.2.1 ÀζóÀÌ´×ÀÌ ÀÛµ¿ÇÏ´Â ¹æ½Ä
10.2.2 ÀζóÀÎ ÇÔ¼öÀÇ Á¦¾à
10.2.3 Ä÷º¼Ç ¿¬»ê ÀζóÀÌ´×
10.2.4 ¾ðÁ¦ ÇÔ¼ö¸¦ ÀζóÀÎÀ¸·Î ¼±¾ðÇÒÁö °áÁ¤
10.2.5 withLock, use, useLines·Î ÀÚ¿ø °ü¸®¸¦ À§ÇØ ÀζóÀÎµÈ ¶÷´Ù »ç¿ë
10.3 ¶÷´Ù¿¡¼ ¹Ýȯ: °íÂ÷ ÇÔ¼ö¿¡¼ È帧 Á¦¾î
10.3.1 ¶÷´Ù ¾ÈÀÇ return ¹®: ¶÷´Ù¸¦ µÑ·¯½Ñ ÇÔ¼ö¿¡¼ ¹Ýȯ
10.3.2 ¶÷´Ù·ÎºÎÅÍ ¹Ýȯ: ·¹À̺íÀ» »ç¿ëÇÑ return
10.3.3 À͸í ÇÔ¼ö: ±âº»ÀûÀ¸·Î ·ÎÄà return
¿ä¾à
11Àå Á¦³×¸¯½º
11.1 ŸÀÔ ÀÎÀÚ¸¦ ¹Þ´Â ŸÀÔ ¸¸µé±â: Á¦³×¸¯ ŸÀÔ ÆÄ¶ó¹ÌÅÍ
11.1.1 Á¦³×¸¯ ŸÀÔ°ú ÇÔ²² µ¿ÀÛÇÏ´Â ÇÔ¼ö¿Í ÇÁ·ÎÆÛƼ
11.1.2 Á¦³×¸¯ Ŭ·¡½º¸¦ °¢°ýÈ£ ±¸¹®À» »ç¿ëÇØ ¼±¾ðÇÑ´Ù
11.1.3 Á¦³×¸¯ Ŭ·¡½º³ª ÇÔ¼ö°¡ »ç¿ëÇÒ ¼ö Àִ ŸÀÔ Á¦ÇÑ: ŸÀÔ ÆÄ¶ó¹ÌÅÍ Á¦
¾à
11.1.4 ¸í½ÃÀûÀ¸·Î ŸÀÔ ÆÄ¶ó¹ÌÅ͸¦ ³ÎÀÌ µÉ ¼ö ¾ø´Â ŸÀÔÀ¸·Î Ç¥½ÃÇØ¼ ³ÎÀÌ µÉ ¼ö Àִ ŸÀÔ ÀÎÀÚ Á¦¿Ü½Ã۱â
11.2 ½ÇÇà ½ÃÁ¡ Á¦³×¸¯½º µ¿ÀÛ: ¼Ò°ÅµÈ ŸÀÔ ÆÄ¶ó¹ÌÅÍ¿Í ½ÇÃ¼ÈµÈ Å¸ÀÔ ÆÄ¶ó¹ÌÅÍ
11.2.1 ½ÇÇà ½ÃÁ¡¿¡ Á¦³×¸¯ Ŭ·¡½ºÀÇ Å¸ÀÔ Á¤º¸¸¦ ãÀ» ¶§ ÇѰè: ŸÀÔ °Ë»ç¿Í
ij½ºÆÃ
11.2.2 ½ÇÃ¼ÈµÈ Å¸ÀÔ ÆÄ¶ó¹ÌÅ͸¦ »ç¿ëÇÏ´Â ÇÔ¼ö´Â ŸÀÔ ÀÎÀÚ¸¦ ½ÇÇà ½ÃÁ¡¿¡
¾ð±ÞÇÒ ¼ö ÀÖ´Ù
11.2.3 Ŭ·¡½º ÂüÁ¶¸¦ ½ÇÃ¼ÈµÈ Å¸ÀÔ ÆÄ¶ó¹ÌÅÍ·Î ´ë½ÅÇÔÀ¸·Î½á java.lang.Class
ÆÄ¶ó¹ÌÅÍ ÇÇÇϱâ
11.2.4 ½ÇÃ¼ÈµÈ Å¸ÀÔ ÆÄ¶ó¹ÌÅͰ¡ ÀÖ´Â Á¢±ÙÀÚ Á¤ÀÇ
11.2.5 ½ÇÃ¼ÈµÈ Å¸ÀÔ ÆÄ¶ó¹ÌÅÍÀÇ Á¦¾à
11.3 º¯¼ºÀº Á¦³×¸¯°ú ŸÀÔ ÀÎÀÚ »çÀÌÀÇ ÇÏÀ§ ŸÀÔ °ü°è¸¦ ±â¼ú
11.3.1 º¯¼ºÀº ÀÎÀÚ¸¦ ÇÔ¼ö¿¡ ³Ñ°Üµµ ¾ÈÀüÇÑÁö ÆÇ´ÜÇÏ°Ô ÇØÁØ´Ù
11.3.2 Ŭ·¡½º, ŸÀÔ, ÇÏÀ§ ŸÀÔ
11.3.3 °øº¯¼ºÀº ÇÏÀ§ ŸÀÔ °ü°è¸¦ À¯ÁöÇÑ´Ù
11.3.4 ¹Ý°øº¯¼ºÀº ÇÏÀ§ ŸÀÔ °ü°è¸¦ µÚÁý´Â´Ù
11.3.5 »ç¿ë ÁöÁ¡ º¯¼ºÀ» »ç¿ëÇØ ŸÀÔÀÌ ¾ð±ÞµÇ´Â ÁöÁ¡¿¡¼ º¯¼º ÁöÁ¤
11.3.6 ½ºÅ¸ ÇÁ·ÎÁ§¼Ç: Á¦³×¸¯ ŸÀÔ ÀÎÀÚ¿¡ ´ëÇÑ Á¤º¸°¡ ¾øÀ½À» Ç¥ÇöÇϰíÀÚ * »ç¿ë
11.3.7 ŸÀÔ º°¸í
¿ä¾à
12Àå ¾î³ëÅ×À̼ǰú ¸®Ç÷º¼Ç
12.1 ¾î³ëÅ×ÀÌ¼Ç ¼±¾ð°ú Àû¿ë
12.1.1 ¾î³ëÅ×À̼ÇÀ» Àû¿ëÇØ ¼±¾ð¿¡ Ç¥Áö ³²±â±â
12.1.2 ¾î³ëÅ×À̼ÇÀÌ ÂüÁ¶ÇÒ ¼ö ÀÖ´Â Á¤È®ÇÑ ¼±¾ð ÁöÁ¤: ¾î³ëÅ×ÀÌ¼Ç Å¸±ê
12.1.3 ¾î³ëÅ×À̼ÇÀ» Ȱ¿ëÇØ JSON Á÷·ÄÈ Á¦¾î
12.1.4 ¾î³ëÅ×ÀÌ¼Ç ¼±¾ð
12.1.5 ¸ÞŸ¾î³ëÅ×À̼Ç: ¾î³ëÅ×À̼ÇÀ» ó¸®ÇÏ´Â ¹æ¹ý Á¦¾î
12.1.6 ¾î³ëÅ×ÀÌ¼Ç ÆÄ¶ó¹ÌÅͷΠŬ·¡½º »ç¿ë
12.1.7 ¾î³ëÅ×ÀÌ¼Ç ÆÄ¶ó¹ÌÅÍ·Î Á¦³×¸¯ Ŭ·¡½º ¹Þ±â
12.2 ¸®Ç÷º¼Ç: ½ÇÇà ½ÃÁ¡¿¡ ÄÚÆ²¸° °´Ã¼ ³»ºÎ °üÂû
12.2.1 ÄÚÆ²¸° ¸®Ç÷º¼Ç API: KClass, KCallable, KFunction, KProperty
12.2.2 ¸®Ç÷º¼ÇÀ» »ç¿ëÇØ °´Ã¼ Á÷·ÄÈ ±¸Çö
12,2,3 ¾î³ëÅ×À̼ÇÀ» Ȱ¿ëÇØ Á÷·ÄÈ Á¦¾î
12.2.4 JSON ÆÄ½Ì°ú °´Ã¼ ¿ªÁ÷·ÄÈ
12.2.5 ÃÖÁ¾ ¿ªÁ÷·ÄÈ ´Ü°è: callBy()¿Í ¸®Ç÷º¼ÇÀ» »ç¿ëÇØ °´Ã¼ ¸¸µé±â
¿ä¾à
13Àå DSL ¸¸µé±â
13.1 API¿¡¼ DSL·Î: Ç¥Çö·ÂÀÌ ÁÁÀº Ä¿½ºÅÒ ÄÚµå ±¸Á¶ ¸¸µé±â
13.1.1 ¿µ¿ª Æ¯È ¾ð¾î
13.1.2 ³»ºÎ DSLÀº ÇÁ·Î±×·¥ÀÇ ³ª¸ÓÁö ºÎºÐ°ú ¸Å²ô·´°Ô ÅëÇյȴÙ
13.1.3 DSLÀÇ ±¸Á¶
13.1.4 ³»ºÎ DSL·Î HTML ¸¸µé±â
13.2 ±¸Á¶ÈµÈ API ±¸Ãà: DSL¿¡¼ ¼ö½Å °´Ã¼ ÁöÁ¤ ¶÷´Ù »ç¿ë
13.2.1 ¼ö½Å °´Ã¼ ÁöÁ¤ ¶÷´Ù¿Í È®Àå ÇÔ¼ö ŸÀÔ
13.2.2 ¼ö½Å °´Ã¼ ÁöÁ¤ ¶÷´Ù¸¦ HTML ºô´õ ¾È¿¡¼ »ç¿ë
13.2.3 ÄÚÆ²¸° ºô´õ: Ãß»óÈ¿Í Àç»ç¿ëÀ» °¡´ÉÇÏ°Ô ÇØÁØ´Ù
13.3 invoke °ü·Ê¸¦ »ç¿ëÇØ ´õ À¯¿¬ÇÏ°Ô ºí·Ï ³»Æ÷½Ã۱â
13.3.1 invoke °ü·Ê¸¦ »ç¿ëÇØ ´õ À¯¿¬ÇÏ°Ô ºí·Ï ³»Æ÷½Ã۱â
13.3.2 DSLÀÇ invoke °ü·Ê: ±×·¹À̵é ÀÇÁ¸°ü°è ¼±¾ð
13.4 ½ÇÀü ÄÚÆ²¸° DSL
13.4.1 ÁßÀ§ È£Ãâ ¿¬¼â½Ã۱â: Å×½ºÆ® ÇÁ·¹ÀÓ¿öÅ©ÀÇ should ÇÔ¼ö
13.4.2 ¿ø½Ã ŸÀÔ¿¡ ´ëÇØ È®Àå ÇÔ¼ö Á¤ÀÇÇϱâ: ³¯Â¥ ó¸®
13.4.3 ¸â¹ö È®Àå ÇÔ¼ö: SQLÀ» À§ÇÑ ³»ºÎ DSL
¿ä¾à
3ºÎ ÄÚ·çÆ¾°ú Ç÷ο츦 Ȱ¿ëÇÑ µ¿½Ã¼º ÇÁ·Î±×·¡¹Ö
14Àå ÄÚ·çÆ¾
14.1 µ¿½Ã¼º°ú º´·Ä¼º
14.2 ÄÚÆ²¸°ÀÇ µ¿½Ã¼º ó¸® ¹æ¹ý: ÀϽà Áß´Ü ÇÔ¼ö¿Í ÄÚ·çÆ¾
14.3 ½º·¹µå¿Í ÄÚ·çÆ¾ ºñ±³
14.4 Àá½Ã ¸ØÃâ ¼ö ÀÖ´Â ÇÔ¼ö: ÀϽà Áß´Ü ÇÔ¼ö
14.4.1 ÀϽà Áß´Ü ÇÔ¼ö¸¦ »ç¿ëÇÑ ÄÚµå´Â ¼øÂ÷ÀûÀ¸·Î º¸ÀδÙ
14.5 ÄÚ·çÆ¾À» ´Ù¸¥ Á¢±Ù ¹æ¹ý°ú ºñ±³
14.5.1 ÀϽà Áß´Ü ÇÔ¼ö È£Ãâ
14.6 ÄÚ·çÆ¾ÀÇ ¼¼°è·Î µé¾î°¡±â: ÄÚ·çÆ¾ ºô´õ
14.6.1 ÀÏ¹Ý Äڵ忡¼ ÄÚ·çÆ¾ÀÇ ¼¼°è·Î: runBlocking ÇÔ¼ö
14.6.2 ¹ß»ç ÈÄ ¸Á°¢ ÄÚ·çÆ¾ »ý¼º: launch ÇÔ¼ö
14.6.3 ´ë±â °¡´ÉÇÑ ¿¬»ê: async ºô´õ
14.7 ¾îµð¼ Äڵ带 ½ÇÇàÇÒÁö Á¤Çϱâ: µð½ºÆÐó
14.7.1 µð½ºÆÐó ¼±ÅÃ
14.7.2 ÄÚ·çÆ¾ ºô´õ¿¡ µð½ºÆÐó Àü´Þ
14.7.3 withContext¸¦ »ç¿ëÇØ ÄÚ·çÆ¾ ¾È¿¡¼ µð½ºÆÐó ¹Ù²Ù±â
14.7.4 ÄÚ·çÆ¾°ú µð½ºÆÐó´Â ½º·¹µå ¾ÈÀü¼º ¹®Á¦¿¡ ´ëÇÑ ¸¶¹ý °°Àº ÇØ°áÃ¥ÀÌ
¾Æ´Ï´Ù
14.8 ÄÚ·çÆ¾Àº ÄÚ·çÆ¾ ÄÜÅØ½ºÆ®¿¡ Ãß°¡ÀûÀÎ Á¤º¸¸¦ ´ã°í ÀÖ´Ù
¿ä¾à
15Àå ±¸Á¶ÈµÈ µ¿½Ã¼º
15.1 ÄÚ·çÆ¾ ½ºÄÚÇÁ°¡ ÄÚ·çÆ¾ °£ÀÇ ±¸Á¶¸¦ È®¸³ÇÑ´Ù
15.1.1 ÄÚ·çÆ¾ ½ºÄÚÇÁ »ý¼º: coroutineScope ÇÔ¼ö
15.1.2 ÄÚ·çÆ¾ ½ºÄÚÇÁ¸¦ ÄÄÆ÷³ÍÆ®¿Í ¿¬°ü½Ã۱â: CoroutineScope
15.1.3 GlobalScopeÀÇ À§Ç輺
15.1.4 ÄÚ·çÆ¾ ÄÜÅØ½ºÆ®¿Í ±¸Á¶ÈµÈ µ¿½Ã¼º
15.2 Ãë¼Ò
15.2.1 Ãë¼Ò Ã˹ß
15.2.2 ½Ã°£Á¦ÇÑÀÌ ÃʰúµÈ ÈÄ ÀÚµ¿À¸·Î Ãë¼Ò È£Ãâ
15.2.3 Ãë¼Ò´Â ¸ðµç ÀÚ½Ä ÄÚ·çÆ¾¿¡°Ô ÀüÆÄµÈ´Ù
15.2.4 Ãë¼ÒµÈ ÄÚ·çÆ¾Àº Ưº°ÇÑ ÁöÁ¡¿¡¼ CancellationExceptionÀ» ´øÁø´Ù
15.2.5 Ãë¼Ò´Â Çù·ÂÀûÀÌ´Ù
15.2.6 ÄÚ·çÆ¾ÀÌ Ãë¼ÒµÆ´ÂÁö È®ÀÎ
15.2.7 ´Ù¸¥ ÄÚ·çÆ¾¿¡°Ô ±âȸ¸¦ ÁÖ±â: yield ÇÔ¼ö
15.2.8 ¸®¼Ò½º¸¦ ¾òÀ» ¶§ Ãë¼Ò¸¦ ¿°µÎ¿¡ µÎ±â
15.2.9 ÇÁ·¹ÀÓ¿öÅ©°¡ ¿©·¯ºÐ ´ë½Å Ãë¼Ò¸¦ ÇÒ ¼ö ÀÖ´Ù
¿ä¾à
16Àå Ç÷οì
16.1 Ç÷οì´Â ¿¬¼ÓÀûÀÎ °ªÀÇ ½ºÆ®¸²À» ¸ðµ¨¸µÇÑ´Ù
16.1.1 Ç÷ο츦 »ç¿ëÇÏ¸é ¹èÃâµÇÀÚ¸¶ÀÚ ¿ø¼Ò¸¦ ó¸®ÇÒ ¼ö ÀÖ´Ù
16.1.2 ÄÚÆ²¸° Ç÷οìÀÇ ¿©·¯ À¯Çü
16.2 Äݵå Ç÷οì
16.2.1 flow ºô´õ ÇÔ¼ö¸¦ »ç¿ëÇØ Äݵå ÇÃ·Î¿ì »ý¼º
16.2.2 Äݵå Ç÷οì´Â ¼öÁýµÇ±â Àü±îÁö ÀÛ¾÷À» ¼öÇàÇÏÁö ¾Ê´Â´Ù
16.2.3 ÇÃ·Î¿ì ¼öÁý Ãë¼Ò
16.2.4 Äݵå Ç÷οìÀÇ ³»ºÎ ±¸Çö
16.2.5 ä³Î Ç÷ο츦 »ç¿ëÇÑ µ¿½Ã¼º Ç÷οì
16.3 ÇÖ Ç÷οì
16.3.1 °øÀ¯ Ç÷οì´Â °ªÀ» ±¸µ¶ÀÚ¿¡°Ô ºê·Îµåij½ºÆ®ÇÑ´Ù
16.3.2 ½Ã½ºÅÛ »óÅ ÃßÀû: »óÅ Ç÷οì
16.3.3 »óÅ Ç÷οì¿Í °øÀ¯ Ç÷οìÀÇ ºñ±³
16.3.4 ÇÖ Ç÷οì, Äݵå Ç÷οì, °øÀ¯ Ç÷οì, »óÅ Ç÷οì: ¾ðÁ¦ ¾î¶² Ç÷ο츦 »ç¿ëÇÒ±î?
¿ä¾à
17Àå ÇÃ·Î¿ì ¿¬»êÀÚ
17.1 ÇÃ·Î¿ì ¿¬»êÀÚ·Î Ç÷οì Á¶ÀÛ
17.2 Áß°£ ¿¬»êÀÚ´Â ¾÷½ºÆ®¸² Ç÷ο쿡 Àû¿ëµÇ°í ´Ù¿î½ºÆ®¸² Ç÷ο츦 ¹ÝȯÇÑ´Ù
17.2.1 ¾÷½ºÆ®¸² ¿ø¼Òº°·Î ÀÓÀÇÀÇ °ªÀ» ¹èÃâ: transform ÇÔ¼ö
17.2.2 take³ª °ü·Ã ¿¬»êÀÚ´Â Ç÷ο츦 Ãë¼ÒÇÒ ¼ö ÀÖ´Ù
17.2.3 Ç÷οìÀÇ °¢ ´Ü°è ÈÄÅ·: onStart, onEach, onCompletion, onEmpty
17.2.4 ´Ù¿î½ºÆ®¸² ¿¬»êÀÚ¿Í ¼öÁýÀÚ¸¦ À§ÇÑ ¿ø¼Ò ¹öÆÛ¸µ: buffer ¿¬»êÀÚ
17.2.5 Áß°£°ªÀ» ¹ö¸®´Â ¿¬»êÀÚ: conflate ¿¬»êÀÚ
17.2.6 ÀÏÁ¤ ½Ã°£ µ¿¾È °ªÀ» ÇÊÅ͸µÇÏ´Â ¿¬»êÀÚ: debounce ¿¬»êÀÚ
17.2.7 Ç÷ο찡 ½ÇÇàµÇ´Â ÄÚ·çÆ¾ ÄÜÅØ½ºÆ®¸¦ ¹Ù²Ù±â: flowOn ¿¬»êÀÚ
17.3 Ä¿½ºÅÒ Áß°£ ¿¬»êÀÚ ¸¸µé±â
17.4 ÃÖÁ¾ ¿¬»êÀÚ´Â ¾÷½ºÆ®¸² Ç÷ο츦 ½ÇÇàÇÏ°í °ªÀ» °è»êÇÑ´Ù
17.4.1 ÇÁ·¹ÀÓ¿öÅ©´Â Ä¿½ºÅÒ ¿¬»êÀÚ¸¦ Á¦°øÇÑ´Ù
¿ä¾à
18Àå ¿À·ù ó¸®¿Í Å×½ºÆ®
18.1 ÄÚ·çÆ¾ ³»ºÎ¿¡¼ ´øÁ®Áø ¿À·ù ó¸®
18.2 ÄÚÆ²¸° ÄÚ·çÆ¾¿¡¼ÀÇ ¿À·ù ÀüÆÄ
18.2.1 ÀÚ½ÄÀÌ ½ÇÆÐÇÏ¸é ¸ðµç ÀÚ½ÄÀ» Ãë¼ÒÇÏ´Â ÄÚ·çÆ¾
18.2.2 ±¸Á¶Àû µ¿½Ã¼ºÀº ÄÚ·çÆ¾ ½ºÄÚÇÁ¸¦ ³Ñ´Â ¿¹¿Ü¿¡¸¸ ¿µÇâÀ» ¹ÌÄ£´Ù
18.2.3 ½´ÆÛ¹ÙÀÌÀú´Â ºÎ¸ð¿Í ÇüÁ¦°¡ Ãë¼ÒµÇÁö ¾Ê°Ô ÇÑ´Ù
18.3 CoroutineExceptionHandler: ¿¹¿Ü 󸮸¦ À§ÇÑ ¸¶Áö¸· ¼ö´Ü
18.3.1 CoroutineExceptionHandler¸¦ launch¿Í async¿¡ Àû¿ëÇÒ ¶§ÀÇ Â÷ÀÌÁ¡
18.4 Ç÷ο쿡¼ ¿¹¿Ü ó¸®
18.4.1 catch ¿¬»êÀÚ·Î ¾÷½ºÆ®¸² ¿¹¿Ü ó¸®
18.4.2 ¼ú¾î°¡ ÂüÀÏ ¶§ Ç÷οìÀÇ ¼öÁý Àç½Ãµµ: retry ¿¬»êÀÚ
18.5 ÄÚ·çÆ¾°ú Ç÷οì Å×½ºÆ®
18.5.1 ÄÚ·çÆ¾À» »ç¿ëÇÏ´Â Å×½ºÆ®¸¦ ºü¸£°Ô ¸¸µé±â: °¡»ó ½Ã°£°ú Å×½ºÆ® µð½ºÆÐó
18.5.2 ÅͺóÀ¸·Î Ç÷οì Å×½ºÆ®
¿ä¾à
ºÎ·Ï A ÄÚÆ²¸° ÇÁ·ÎÁ§Æ® ºôµå
ºÎ·Ï B ÄÚÆ²¸° ÄÚµå ¹®¼È
ºÎ·Ï C ÄÚÆ²¸° »ýŰè
ÃâÆÇ»ç ¼Æò¢Â ÀÌ Ã¥¿¡¼ ´Ù·ç´Â ³»¿ë ¢Â
¡ß ÄÚÆ²¸° ÆÀ ¸â¹öµéÀÇ °¡À̵å
¡ß µµ¸ÞÀÎ Æ¯È ¾ð¾î(DSL)
¡ß ÄÚÆ²¸° ÄÚ·çÆ¾°ú Ç÷οì
¢Â ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ ¢Â
ÁÖ·Î ¾î´À Á¤µµ ÀÚ¹Ù °æÇèÀÌ ÀÖ´Â °³¹ßÀÚ¸¦ ´ë»óÀ¸·Î ÇÑ Ã¥ÀÌ´Ù. ÄÚÆ²¸°Àº ÀÚ¹Ù¿¡ ÀÖ´Â ¿©·¯ °³³ä°ú ±â¹ý À§¿¡ ¸¸µé¾îÁ³°í, ÀÌ Ã¥Àº µ¶ÀÚ°¡ ÄÚÆ²¸°À» ºü¸£°Ô ¹è¿ï ¼ö ÀÖµµ·Ï µ¶ÀÚµéÀÇ ±âÁ¸ Áö½ÄÀ» Ȱ¿ëÇÑ´Ù.
C#À̳ª ÀÚ¹Ù ½ºÅ©¸³Æ® °°Àº ´Ù¸¥ ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡ ´ëÇÑ °æÇèÀÌ ÀÖ´Â µ¶ÀÚ¶ó¸é ÄÚÆ²¸°°ú JVMÀÇ »óÈ£ÀÛ¿ëÀÇ º¹ÀâÇÑ Ãø¸éÀ» ÀÌÇØÇϱâ À§ÇØ ´Ù¸¥ ÀÚ·á°¡ ÇÊ¿äÇϰÚÁö¸¸ ¿©ÀüÈ÷ ÀÌ Ã¥À» »ç¿ëÇØ ÄÚÆ²¸°À» ¹è¿ï ¼ö ÀÖ´Ù. ÀÌ Ã¥Àº ÄÚÆ²¸° ¾ð¾î Àüü¸¦ ´Ù·ç¸ç, Ưº°È÷ ±¸Ã¼ÀûÀÎ ¹®Á¦ ¿µ¿ª¿¡ ÃÊÁ¡À» ¸ÂÃßÁö´Â ¾Ê´Â´Ù. µû¶ó¼ ¼¹ö °³¹ßÀÚ³ª ¾Èµå·ÎÀÌµå °³¹ßÀÚ³ª JVM¿¡¼ ½ÇÇàµÉ ÇÁ·ÎÁ§Æ®¸¦ ±¸ÃàÇÏ´Â ¸ðµç °³¹ßÀÚ¿¡°Ô µµ¿òÀÌ µÉ °ÍÀÌ´Ù.
¢Â ¿Å±äÀÌÀÇ ¸» ¢Â
ÀÌ Ã¥ÀÇ 1ÆÇÀ» ¹ø¿ªÇÑ 2017³â¿¡´Â ÄÚÆ²¸°ÀÌ ¾Èµå·ÎÀ̵忡 º»°ÝÀûÀ¸·Î ¾²À̱⠽ÃÀÛÇß°í ½ºÄ®¶ó, ÇÏµÓ µîÀ» ÅëÇØ ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö °³³äÀÌ ½½½½ ¸ÞÀνºÆ®¸² ÇÁ·Î±×·¡¹Ö ¾ð¾î ¼¼»ó¿¡ µé¾î¿À´ø ½Ã±â¿´´Ù. ±×·¡¼ 1ÆÇÀÇ ¡®¿Å±äÀÌÀÇ ¸»¡¯¿¡¼´Â °ü·Ã ³»¿ëÀ» ±æ°Ô ¼³¸íÇØ¾ß Çß´Ù. ÇÏÁö¸¸ ½Ã°£ÀÌ Áö³ª¸é¼ ¾Èµå·ÎÀ̵å ÇÁ·Î±×·¡¹Ö¿¡¼´Â ÄÚÆ²¸°ÀÌ È®°íÈ÷ ÀÚ¸® Àâ¾Ò°í, ¼¹ö ÇÁ·Î±×·¡¹Ö¿¡¼µµ ÄÚÆ²¸°À» »ç¿ëÇÏ´Â °³¹ßÀÚ³ª ȸ»ç°¡ ¸¹ÀÌ ´Ã¾î³µÀ¸¸ç, ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö °³³äµµ ¾î´À Á¤µµ È®°íÈ÷ ÀÚ¸® Àâ¾ÒÀ¸´Ï ÀÌÁ¦´Â ÄÚÆ²¸° ¾ð¾îÀÇ Æ¯Â¡À̳ª ÀåÁ¡, ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÇ Æ¯Â¡À̳ª ÀåÁ¡À» ±»ÀÌ ¼³¸íÇÒ Çʿ䰡 ¾ø¾îÁ³´Ù°í »ý°¢ÇÑ´Ù. ÀÌ Ã¥À» Áý¾îµç °³¹ßÀÚ¶ó¸é ÄÚÆ²¸°À̶ó´Â À̸§À» µè°í ±× ¾ð¾îÀÇ ¸Å·Â¿¡ ºüÁ®µé Áغñ°¡ µÅ ÀÖÀ» °ÍÀÌ´Ù.
ÄÚÆ²¸°Àº ÀÌÁ¦ JVM¿¡¼ ÀÚ¹Ù¸¦ ´ë½ÅÇÏ´Â ´õ ³ªÀº ÀÚ¹ÙÀÇ À§Ä¡¸¦ ¹þ¾î³ª ÀڽŸ¸ÀÇ µ¿½Ã¼º ÇÁ·Î±×·¡¹Ö ÇÁ·¹ÀÓ¿öÅ©¿Í ´ÙÁß Ç÷§Æû Áö¿øÀ» ÅëÇØ µ¶ÀÚÀûÀÎ ÇÁ·Î±×·¡¹Ö ¾ð¾î·Î¼ÀÇ À§Ä¡¸¦ Àâ¾Æ°¡°í ÀÖ´Ù. ÀÌ Ã¥À» ÅëÇØ ÄÚÆ²¸° ¾ð¾îÀÇ ±âº»ÀûÀΠöÇаú ¹®¹ý, ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÇ ±âÃÊÀû ±â¹ýÀ» Ȱ¿ëÇÑ Ä÷º¼Ç ó¸®, ÄÚÆ²¸° ¾ð¾îÀÇ DSL Áö¿ø ±â´ÉÀ» ÅëÇÑ ³»ºÎ DSL°ú dzºÎÇÑ API °³¹ß ¹æ¹ý, ÄÚÆ²¸° ÄÚ·çÆ¾°ú Ç÷ο츦 ÅëÇÑ µ¿½Ã/º´·Ä ÇÁ·Î±×·¡¹ÖÀ» ¹è¿ï ¼ö ÀÖ´Ù. ¶ÇÇÑ JVM»ó¿¡¼ ÀÚ¹Ù¿Í ÄÚÆ²¸°À» ¾î¶»°Ô ÇÔ²² ÇÁ·ÎÁ§Æ®¿¡ Ȱ¿ëÇÒ ¼ö ÀÖ´ÂÁöµµ ¹è¿ï ¼ö ÀÖ´Ù. ÀÌ Ã¥À» ÅëÇØ ưưÇÑ ÄÚÆ²¸° ±âÃʸ¦ °®Ãá °³¹ßÀÚ¶ó¸é ÇâÈÄ ÄÄÆ÷Áî ´ÙÁß Ç÷§Æû(compose multiplatform)À» ÅëÇÑ ´ÙÁß Ç÷§Æû ¾Û °³¹ßÀ̳ª ½ºÇÁ¸µ µî ÀÚ¹Ù ¶óÀ̺귯¸®¸¦ ÅëÇÕÇÑ Å¬¸° ¾ÆÅ°ÅØÃ³ ¼¹ö °³¹ß µî ´Ù¾çÇÑ ºÐ¾ß¿¡ ÄÚÆ²¸°À» Ȱ¿ëÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ¿¹¸¦ µé¾î ¿ªÀÚ°¡ ÀÏÇϰí ÀÖ´Â (ÁÖ)¸ðºô¸®Æ¼42¿¡¼´Â ÀÚü ÄÚÆ²¸° ´ÙÁß Ç÷§Æû ¶óÀ̺귯¸®¸¦ °³¹ßÇØ¼ ¼¹ö(½ºÇÁ¸µ ±â¹ÝÀÇ ÀÚü ¼¹ö ¶óÀ̺귯¸®¿Í ³»ºÎ DSLÀ» Ȱ¿ëÇÑ µ¥ÀÌÅͺ£À̽º ¸ðµ¨¸µ), À¥(ÀÚ¹Ù½ºÅ©¸³Æ® + ÀÚü °³¹ß ÄÄÆ÷³ÍÆ® ¶óÀ̺귯¸®), ÄÄÆ÷Áî µ¥½ºÅ©Åé µîÀÇ ´Ù¾çÇÑ ¾ÖÇø®ÄÉÀ̼ÇÀ» °³¹ßÇØ »ç¿ëÇϰí ÀÖ´Ù.
¾Æ¹«ÂÉ·Ï ÀÌ Ã¥À» ÅëÇØ ÄÚÆ²¸°ÀÌ ¿©·¯ºÐ ¼Õ¿¡ Âø ´Þ¶óºÙ´Â Á¦´ë·Î ±ðÀº ¹æ¸ÁÀÌó·³ ÀÛ¾÷ÇÒ ¶§ ÆíÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖ´Â µµ±¸·Î ÀÚ¸® Àâ±æ ¹Ù¶õ´Ù. ±×¸®°í ÄÚÆ²¸°À» ÅëÇØ ´Ã¾î³ »ý»ê¼º¸¸Å µ¶ÀÚ ¿©·¯ºÐÀÌ Á» ´õ ¿©À¯ ÀÖ´Â Àú³áÀÌ ÀÖ´Â »îÀ» ´©¸± ¼ö ÀÖ°Ô µÇ±æ ºó´Ù. |
±³È¯ ¹× ȯºÒ °¡´É |
»óǰ¿¡ ¹®Á¦°¡ ÀÖÀ» °æ¿ì |
1) »óǰÀÌ Ç¥½Ã/±¤°íµÈ ³»¿ë°ú ´Ù¸£°Å³ª ºÒ·®(ºÎÆÐ, º¯Áú, ÆÄ¼Õ, Ç¥±â¿À·ù, À̹°È¥ÀÔ, Áß·®¹Ì´Þ)ÀÌ ¹ß»ýÇÑ °æ¿ì - ½Å¼±½Äǰ, ³ÃÀå½Äǰ, ³Ãµ¿½Äǰ : ¼ö·ÉÀÏ ´ÙÀ½³¯±îÁö ½Åû - ±âŸ »óǰ : ¼ö·ÉÀϷκÎÅÍ 30ÀÏ À̳», ±× »ç½ÇÀ» ¾È ³¯ ¶Ç´Â ¾Ë ¼ö ÀÖ¾ú´ø ³¯·ÎºÎÅÍ 30ÀÏ À̳» ½Åû 2) ±³È¯ ¹× ȯºÒ½Åû ½Ã ÆÇ¸ÅÀÚ´Â »óǰÀÇ »óŸ¦ È®ÀÎÇÒ ¼ö ÀÖ´Â »çÁøÀ» ¿äûÇÒ ¼ö ÀÖÀ¸¸ç »óǰÀÇ ¹®Á¦ Á¤µµ¿¡ µû¶ó Àç¹è¼Û, ÀϺÎȯºÒ, ÀüüȯºÒÀÌ ÁøÇàµË´Ï´Ù. ¹Ýǰ¿¡ µû¸¥ ºñ¿ëÀº ÆÇ¸ÅÀÚ ºÎ´ãÀ̸ç ȯºÒÀº ¹ÝǰµµÂøÀϷκÎÅÍ ¿µ¾÷ÀÏ ±âÁØ 3ÀÏ À̳»¿¡ ¿Ï·áµË´Ï´Ù. |
´Ü¼øº¯½É ¹× ÁÖ¹®Âø¿ÀÀÇ °æ¿ì |
1) ½Å¼±½Äǰ, ³ÃÀå½Äǰ, ³Ãµ¿½Äǰ ÀçÆÇ¸Å°¡ ¾î·Á¿î »óǰÀÇ Æ¯¼º»ó, ±³È¯ ¹× ȯºÒÀÌ ¾î·Æ½À´Ï´Ù. 2) ÈÀåǰ ÇǺΠƮ·¯ºí ¹ß»ý ½Ã Àü¹®ÀÇ Áø´Ü¼ ¹× ¼Ò°ß¼¸¦ Á¦ÃâÇϽøé ȯºÒ °¡´ÉÇÕ´Ï´Ù. ÀÌ °æ¿ì Á¦¹Ýºñ¿ëÀº ¼ÒºñÀÚ ºÎ´ãÀ̸ç, ¹è¼Ûºñ´Â ÆÇ¸ÅÀÚ°¡ ºÎ´ãÇÕ´Ï´Ù. ÇØ´ç ÈÀåǰ°ú ÇǺΠƮ·¯ºí°úÀÇ »ó´çÇÑ Àΰú°ü°è°¡ ÀÎÁ¤µÇ´Â °æ¿ì ¶Ç´Â Áúȯġ·á ¸ñÀûÀÇ °æ¿ì¿¡´Â Áø´Ü¼ ¹ß±Þºñ¿ëÀ» ÆÇ¸ÅÀÚ°¡ ºÎ´ãÇÕ´Ï´Ù. 3) ±âŸ »óǰ ¼ö·ÉÀϷκÎÅÍ 7ÀÏ À̳» ½Åû, ¿Õº¹¹è¼Ûºñ´Â ¼ÒºñÀÚ ºÎ´ã 4) ¸ð´ÏÅÍ ÇØ»óµµÀÇ Â÷ÀÌ·Î »ö»óÀ̳ª À̹ÌÁö°¡ ´Ù¸¥ °æ¿ì ´Ü¼øº¯½É¿¡ ÀÇÇÑ ±³È¯ ¹× ȯºÒÀÌ Á¦ÇÑµÉ ¼ö ÀÖ½À´Ï´Ù. |
|
±³È¯ ¹× ȯºÒ ºÒ°¡ |
1) ½Åû±âÇÑÀÌ Áö³ °æ¿ì 2) ¼ÒºñÀÚÀÇ °ú½Ç·Î ÀÎÇØ »óǰ ¹× ±¸¼ºÇ°ÀÇ Àüü ¶Ç´Â ÀϺΰ¡ ¾ø¾îÁö°Å³ª ÈѼÕ, ¿À¿°µÇ¾úÀ» °æ¿ì 3) °³ºÀÇÏ¿© ÀÌ¹Ì ¼·ÃëÇÏ¿´°Å³ª »ç¿ë(Âø¿ë ¹× ¼³Ä¡ Æ÷ÇÔ)ÇØ »óǰ ¹× ±¸¼ºÇ°ÀÇ °¡Ä¡°¡ ¼Õ»óµÈ °æ¿ì 4) ½Ã°£ÀÌ °æ°úÇÏ¿© »óǰÀÇ °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì 5) »ó¼¼Á¤º¸ ¶Ç´Â »ç¿ë¼³¸í¼¿¡ ¾È³»µÈ ÁÖÀÇ»çÇ× ¹× º¸°ü¹æ¹ýÀ» ÁöŰÁö ¾ÊÀº °æ¿ì 6) »çÀü¿¹¾à ¶Ç´Â ÁÖ¹®Á¦ÀÛÀ¸·Î ÅëÇØ ¼ÒºñÀÚÀÇ ÁÖ¹®¿¡ µû¶ó °³º°ÀûÀ¸·Î »ý»êµÇ´Â »óǰÀÌ ÀÌ¹Ì Á¦ÀÛÁøÇàµÈ °æ¿ì 7) º¹Á¦°¡ °¡´ÉÇÑ »óǰ µîÀÇ Æ÷ÀåÀ» ÈѼÕÇÑ °æ¿ì 8) ¸À, Çâ, »ö µî ´Ü¼ø ±âÈ£Â÷ÀÌ¿¡ ÀÇÇÑ °æ¿ì |