°£Æí°áÁ¦, ½Å¿ëÄ«µå û±¸ÇÒÀÎ
ÀÎÅÍÆÄÅ© ·Ôµ¥Ä«µå 5% (38,480¿ø)
(ÃÖ´ëÇÒÀÎ 10¸¸¿ø / Àü¿ù½ÇÀû 40¸¸¿ø)
ºÏÇǴϾð ·Ôµ¥Ä«µå 30% (28,350¿ø)
(ÃÖ´ëÇÒÀÎ 3¸¸¿ø / 3¸¸¿ø ÀÌ»ó °áÁ¦)
NH¼îÇÎ&ÀÎÅÍÆÄÅ©Ä«µå 20% (32,400¿ø)
(ÃÖ´ëÇÒÀÎ 4¸¸¿ø / 2¸¸¿ø ÀÌ»ó °áÁ¦)
Close

ÄÚƲ¸° ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö : ÄÚƲ¸°À¸·Î Á¦´ë·Î ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö ÀÍÈ÷±â

¿øÁ¦ : Functional Programming in Kotlin
¼Òµæ°øÁ¦

2013³â 9¿ù 9ÀÏ ÀÌÈÄ ´©Àû¼öÄ¡ÀÔ´Ï´Ù.

ÆǸÅÁö¼ö 32
?
ÆǸÅÁö¼ö¶õ?
»çÀÌÆ®ÀÇ ÆǸŷ®¿¡ ±â¹ÝÇÏ¿© ÆǸŷ® ÃßÀ̸¦ ¹Ý¿µÇÑ ÀÎÅÍÆÄÅ© µµ¼­¿¡¼­ÀÇ µ¶¸³ÀûÀÎ ÆǸŠÁö¼öÀÔ´Ï´Ù. ÇöÀç °¡Àå Àß Æȸ®´Â »óÇ°¿¡ °¡ÁßÄ¡¸¦ µÎ¾ú±â ¶§¹®¿¡ ½ÇÁ¦ ´©Àû ÆǸŷ®°ú´Â ´Ù¼Ò Â÷ÀÌ°¡ ÀÖÀ» ¼ö ÀÖ½À´Ï´Ù. ÆǸŷ® ¿Ü¿¡µµ ´Ù¾çÇÑ °¡ÁßÄ¡·Î ±¸¼ºµÇ¾î ÃÖ±ÙÀÇ À̽´µµ¼­ È®Àνà À¯¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. ÇØ´ç Áö¼ö´Â ¸ÅÀÏ °»½ÅµË´Ï´Ù.
Close
°øÀ¯Çϱâ
Á¤°¡

45,000¿ø

  • 40,500¿ø (10%ÇÒÀÎ)

    2,250P (5%Àû¸³)

ÇÒÀÎÇýÅÃ
Àû¸³ÇýÅÃ
  • S-Point Àû¸³Àº ¸¶ÀÌÆäÀÌÁö¿¡¼­ Á÷Á¢ ±¸¸ÅÈ®Á¤ÇϽŠ°æ¿ì¸¸ Àû¸³ µË´Ï´Ù.
Ãß°¡ÇýÅÃ
¹è¼ÛÁ¤º¸
  • 5/2(¸ñ) À̳» ¹ß¼Û ¿¹Á¤  (¼­¿ï½Ã °­³²±¸ »ï¼º·Î 512)
  • ¹«·á¹è¼Û
ÁÖ¹®¼ö·®
°¨¼Ò Áõ°¡
  • À̺¥Æ®/±âȹÀü

  • ¿¬°üµµ¼­(23)

  • »óÇ°±Ç

AD

Ã¥¼Ò°³

ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀ» µé¾îº» °³¹ßÀÚ´Â ¸¹Áö¸¸ Á¦´ë·Î µÈ ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀ» ¹è¿ì±â À§ÇØ ÇϽºÄÌÀ̳ª ½ºÄ®¶ó±îÁö ¹è¿ï ¿©À¯°¡ ¾ø´Â µ¶ÀÚµµ ¸¹À» °ÍÀÌ´Ù. ÀÌ Ã¥Àº Á¤¼®ÀûÀÎ ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö Ã¥ÀÌÁö¸¸ ÄÚƲ¸°À» »ç¿ëÇϱ⠶§¹®¿¡ ´õ ½±°Ô ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö¿¡ Á¢±ÙÇÏ°í ½ÍÀº µ¶Àڵ鿡°Ô µµ¿òÀÌ µÈ´Ù. ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀ» ÀÚ½ÅÀÇ °³¹ß¿¡ Àû¿ëÇÏ°í ½ÍÀº °³¹ßÀÚ³ª, ÇÔ¼öÇü Æз¯´ÙÀÓÀ» ÀÍÇô¼­ »õ·Î¿î »ç°í ¹æ½ÄÀ» ÀÍÈ÷°í Á÷°£Á¢ÀûÀ¸·Î ±× Áö½ÄÀ» È°¿ëÇÏ°í ½ÍÀº °³¹ßÀÚµéÀÌ ¿¬½À¹®Á¦¸¦ Ç®¾î°¡¸é¼­ Á¡Â÷ ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö Áö½ÄÀ» ½×¾Æ ³ª°¥ ¼ö ÀÖ°Ô ÇØÁØ´Ù.

ÃâÆÇ»ç ¼­Æò

¢Â ÀÌ Ã¥¿¡¼­ ´Ù·ç´Â ³»¿ë ¢Â
¡ß ½ÇÁ¦ »óȲ¿¡¼­ È°¿ëÇÒ ¼ö ÀÖ´Â ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö ±â¹ý
¡ß ÇÔ¼öÇü ¼³°è¸¦ ÇÒ ¶§ À¯¿ëÇÑ °øÅë ±¸Á¶¿Í ¼÷¾îµé
¡ß ´Ü¼ø¼º, ¸ðµâ¼º, ¹ö±× °¨¼Ò!

¢Â ÀÌ Ã¥ÀÇ ´ë»ó µ¶ÀÚ ¢Â
ÄÚƲ¸° ¾ð¾î ÀÚü¿Í ÄÚƲ¸° ¾ð¾îÀÇ ±â´ÉÀ» ÀÌ¹Ì ÃæºÐÈ÷ ÀÌÇØÇÑ »ç¶÷À» ´ë»óÀ¸·Î ÇÑ´Ù. ¶ÇÇÑ °´Ã¼ÁöÇâ ¼³°è¿¡ Àͼ÷ÇÏ°í Ŭ·¡½º, ÀÎÅÍÆäÀ̽º, ¸Þ¼­µå, º¯¼ö¸¦ Àß ¾Ë¾Æ¾ß ÇÏÁö¸¸, ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ ¼±¼ö Áö½ÄÀ̳ª °æÇèÀº ÇÊ¿äÇÏÁö ¾Ê´Ù.
ÀÏÂ÷ÀûÀ¸·Î´Â Çй®ÀûÀΠåÀÌÁö¸¸ ÇÑÆíÀ¸·Î´Â ¸Å¿ì ½Ç¹«ÀûÀΠåÀ̱⵵ ÇÏ´Ù. Àü¹Ý¿¡ °ÉÃÄ ¿©·¯ ÄÚµå ¿¹Á¦¸¦ »ìÆ캸°í, ¹è¿ì´Â °úÁ¤À» °­È­ÇØÁÖ´Â ¿¬½À¹®Á¦¸¦ ´Ù¼ö Á¦°øÇÑ´Ù. ±×·¯¹Ç·Î ÀÎÅÚ¸®Á¦ÀÌ(IntelliJ) IDEA³ª ÄÚƲ¸°À» ¿ÏÀüÈ÷ Áö¿øÇÏ´Â ºñ½ÁÇÑ ´Ù¸¥ IDE¸¦ Àß ÀÌÇØÇÏ°í ÀÖ¾î¾ß ÇÑ´Ù. IDE ´ë½Å ÅؽºÆ® ÆíÁý±â³ª Å͹̳ÎÀ» »ç¿ëÇÏ´Â °Ô ´õ Àͼ÷ÇÏ´Ù¸é ±× ¶ÇÇÑ »ó°ü¾ø´Ù.


¢Â ÀÌ Ã¥ÀÇ ±¸¼º ¢Â
4°³ ºÎ, ÃÑ 15°³ ÀåÀ¸·Î ÀÌ·ïÁ® ÀÖ´Ù. 1ºÎ¿¡¼­´Â ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀ» ¼Ò°³ÇÏ°í ÀÌ Ã¥ Àü¹Ý¿¡ °ÉÃÄ »ç¿ëÇÒ ±âº»ÀûÀÎ ºôµù ºí·ÏÀ» Á¦°øÇÑ´Ù.
1ÀåÀº ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÇ Àǹ̸¦ ¼³¸íÇÏ°í ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÇ ÀÌÁ¡¿¡ ´ëÇØ °¨À» Àâµµ·Ï ÇØÁØ´Ù.
2ÀåÀº Àç±Í·Î ÇÔ¼öÇü ·çÇÁ¸¦ ÀÛ¼ºÇÏ´Â ¹æ¹ýÀ̳ª ²¿¸® È£Ãâ Á¦°Å(tail-call elimination), °íÂ÷ ÇÔ¼ö(high-order function), ÇÔ¼öÇü ´ÙÇü¼º(polymorphism) °°Àº ±âº»±â¸¦ ¾Ë·ÁÁØ´Ù.
3ÀåÀº ¸®½ºÆ®(list)¿Í Æ®¸®(tree)¶ó´Â µÎ °¡Áö Ä÷º¼ÇÀ» ¼ø¼ö ÇÔ¼öÇüÀ¸·Î Á¤ÀÇÇÏ°í ´Ù·ç´Â ¹æ¹ýÀ» ¼³¸íÇÑ´Ù.
4ÀåÀº ¿¹¿Ü¸¦ ´øÁöÁö ¾Ê°í È¿°úÀûÀ¸·Î ¿À·ù¸¦ ó¸®ÇÏ´Â ¹æ¹ýÀ» ±íÀÌ »ìÆ캻´Ù.
5ÀåÀº È¿À²ÀûÀÎ Æò°¡¸¦ À§ÇÑ ºñ¾ö°Ý¼º(non-strictness(Áö¿¬¼ºlazinessÀ̶ó°íµµ ÇÑ´Ù))¿¡ ´ëÇØ ³íÀÇÇÏ°í, ½ºÆ®¸² µ¥ÀÌÅÍ Å¸ÀÔµµ ¼Ò°³ÇÑ´Ù.
6ÀåÀº ÀüÀÌ(transition)¶ó°íµµ ÇÏ´Â »óÅ º¯ÀÌ µ¿ÀÛ(state mutation action)À» ÇÔ¼öÇü ÇÁ·Î±×·¥¿¡¼­ ´Ù·ç´Â ¹æ¹ýÀ» ¾Ë·ÁÁָ鼭 1ºÎ¸¦ ¸¶¹«¸®ÇÑ´Ù.
2ºÎ´Â ¸î °¡Áö ÄÞºñ³×ÀÌÅÍ(combinator) ¶óÀ̺귯¸®¸¦ ¼³°èÇÏ´Â °úÁ¤À» ¾ÆÁÖ ´À½¼ÇÏ°Ô ¼³¸íÇÏ´Â ½ºÅ¸ÀÏ·Î µÅ ÀÖ´Ù´Â Á¡¿¡¼­ 1ºÎ¿Í ²Ï ´Ù¸£´Ù.
7ÀåÀº ºñµ¿±â º´·Ä ó¸®(asynchronous parallel processing)¸¦ À§ÇÑ ÇÔ¼öÇü ¶óÀ̺귯¸®¸¦ ¼³°èÇÏ°í ±¸ÃàÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁØ´Ù.
8ÀåÀº ³­¼öÈ­ÇÑ Å×½ºÆ®¸¦ À§ÇÑ ¼Ó¼º ±â¹Ý Å×½ºÆ®(property-based test) ¶óÀ̺귯¸®¸¦ ¼³°èÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁØ´Ù.
9ÀåÀº ÆĽÌ(parsing) ¿µ¿ªÀ¸·Î µé¾î°¡¼­ JSON Æļ­ ÄÞºñ³×ÀÌÅÍ ¶óÀ̺귯¸®ÀÇ ¿ì¾ÆÇÑ ¼³°è¸¦ µµÃâÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁØ´Ù.
3ºÎ¿¡¼­´Â ŸÀÔ ÁöÁ¤ ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö¿¡ ¼ÓÇÑ ´õ °í±Þ ÁÖÁ¦ÀΠŸÀÔ Å¬·¡½º(type class)¸¦ »ìÆ캻´Ù. ½ÇÁ¦ »óȲ¿¡¼­ »ç¿ëÇÏ´Â ¸î °¡Áö ¼³°è ÆÐÅÏ Ãß»óÈ­¸¦ ´Ù·ç°í ¿©·¯ºÐÀÌ ÀÌ·± Ãß»óÈ­¸¦ »ç¿ëÇÒ ¼ö ÀÖµµ·Ï Áغñ½ÃŲ´Ù.
10ÀåÀº ¿©·¯ °ªÀ» Á¶ÇÕÇÒ ¶§ ¾µ ¼ö ÀÖ´Â Ãß»óÈ­ÀÎ ¸ð³ëÀ̵å(monoid)¸¦ ´Ù·é´Ù.
11ÀåÀº ¾Ç¸í ³ôÀº ¸ð³ªµå(monad)¸¦ »ô»ôÀÌ ´Ù·ç°í ¿¹Á¦¸¦ »ç¿ëÇØ ¸íÈ®È÷ ¼³¸íÇÑ´Ù.
12ÀåÀº Àû¿ë °¡´É ÆãÅÍ(applicative functor)¿Í ¼øȸ °¡´É ÆãÅÍ(traversable functor)¸¦ ¼³¸íÇϸ鼭 Àû¿ë °¡´É(applicative)ÀÇ ¿ä°ÇÀÌ ¹«¾ùÀÎÁö ¼Ò°³ÇÏ°í ¸ð³ªµå¿Í Àû¿ë °¡´ÉÀÇ Â÷À̸¦ º¸¿©ÁØ´Ù.
¸¶Áö¸· 4ºÎ¿¡¼­´Â ¾Õ¼­ ¹è¿î ³»¿ëÀ» ¹ÙÅÁÀ¸·Î ¼ø¼ö ÇÔ¼öÇü Äڵ忡¼­ ºÎ¼ö È¿°ú¸¦ ´Ù·é´Ù.
13ÀåÀº ÀÓº£µðµåµÈ ¸í·ÉÇü DSLÀ» »ç¿ëÇØ È¿°ú°¡ ÀÖ´Â ÄÚµåÀÇ Ç¥ÇöÀ» ´Ü¼øÈ­ÇÏ´Â ¹æ¹ýÀ» º¸¿©ÁÖ±â À§ÇØ I/O ¸ð³ªµå(ÇÁ¸® ¸ð³ªµå)¸¦ ¼Ò°³ÇÑ´Ù.
14ÀåÀº ƯÁ¤ ºÎ¼ö È¿°ú¿Í º¯À̸¦ ¼ø¼ö ÇÔ¼ö ÇÁ·Î±×·¥ ¾È¿¡ Áö¿ªÈ­ÇÏ´Â(¹ÛÀ¸·Î ³ëÃâ½Ãų ¼ö ¾ø°Ô ¸·À¸¸é¼­ ³»Æ÷½ÃÅ°´Â) ¹æ¹ýÀ» ¾Ë·ÁÁØ´Ù.
15ÀåÀº Áö±Ý²¯ ¹è¿î ¸ðµç ³»¿ëÀ» Áý´ë¼ºÇØ, I/O ½ºÆ®¸²À» Á¡ÁøÀûÀ¸·Î ó¸®ÇÒ ¼ö ÀÖ´Â ¸ðµâÈ­ °¡´ÉÇϸç ÇÕ¼º °¡´ÉÇÑ ÇÁ·Î±×·¥À» À§ÇÑ ½ºÆ®¸² API¸¦ °³¹ßÇÑ´Ù.

¢Â ÁöÀºÀÌÀÇ ¸» ¢Â
ÁÁÀº ¼ÒÇÁÆ®¿þ¾î¸¦ ÀÛ¼ºÇÏ´Â °ÍÀº °áÄÚ ½±Áö ¾ÊÀº ÀÏÀÌ´Ù. ¿ì¸®´Â ±â°è°¡ ½ÇÇàÇÒ ¼ö ÀÖ´Â ½±°í È¿À²ÀûÀ¸·Î µ¹¾Æ°¡¾ß¸¸ ÇÏ´Â ¸í·ÉÀ» Á¦°øÇÏ°íÀÚ Äڵ带 ÀÛ¼ºÇÑ´Ù. ¿©±â¼­ ´õ Áß¿äÇÑ »ç½ÇÀº Äڵ忡´Â ´Ù¸¥ ±Ùº»ÀûÀÎ ¸ñÀûÀÌ ÀÖ´Ù´Â Á¡ÀÌ´Ù. Áï, ÄÚµå´Â ÇöÀç¿Í ¹Ì·¡¿¡ ¿ì¸® ÄÚµå¿Í »óÈ£ÀÛ¿ëÇÒ »ç¶÷µé°ú ¸íÈ®È÷ ÀÇ»ç¼ÒÅëÇϱâ À§ÇÑ ¼ö´ÜÀ̶ó°í ÇÒ ¼ö ÀÖ´Ù. µû¶ó¼­ ÄÚµå´Â ±â°è¿¡ ¸í·ÉÀ» ³»¸®´Â µµ±¸¶ó´Â ¿ªÇÒÀ» ÃÊ¿ùÇØ, ¿©·¯ »ç¶÷ÀÌ Çù·ÂÇØ ±â°è¿¡ ¸í·ÉÀ» ³»¸®±â À§ÇÑ µµ±¸°¡ µÇ°í ÀÖ´Ù.
³ª´Â »ó´ëÀûÀ¸·Î ¾î¸± ¶§ºÎÅÍ ÄÚµùÀ» ÇØ¿Ô´Ù. ZX ½ºÆåÆ®·³(ZX Spectrum)¿¡¼­ º£ÀÌÁ÷(BASIC) Äڵ带 ÀÛ¼ºÀ» ½ÃÀÛÀ¸·Î, ÀÌÈÄ Äڸ𵵾î 64(Commodore 64)¿¡¼­ ±â°è¾î Äڵ带 ÀÛ¼ºÇß´Ù. ¿À·§µ¿¾È ÀÌ·±Àú·± ÄÄÇ»ÅÍ¿Í ¾ð¾î¸¦ ÀüÀüÇÑ ³¡¿¡ °á±¹ ¿­Á¤ÀûÀÎ ÀÚ¹Ù °³¹ßÀÚ°¡ µÆ´Ù. ±× ½ÃÁ¡±îÁö ³»°¡ ¹è¿ö¿Ô´ø ÇÁ·Î±×·¡¹Ö Áö½ÄÀº ¸ðµÎ ÇÁ·Î½ÃÀú ±â¹ÝÀ̾úÀ¸¸ç, ÄÄÇ»ÅÍ¿¡°Ô ÇÒ ÀÏÀ» Áö½ÃÇÏ´Â ¸í·É¾î ´Ü°è¸¦ ³ª¿­ÇÑ °ÍÀ̾ú´Ù. 2000³â´ë ÃÊ ÀÚ¹Ù°¡ Á¦½ÃÇÑ °´Ã¼ÁöÇâ °³³äÀº ³ª¸¦ ¾ÆÁÖ ³î¶ó°Ô Çß´Ù. ÀÌÁ¦ ÄÄÇ»ÅÍ ¸Þ¸ð¸®»ó¿¡¼­ °´Ã¼¸¦ ÅëÇØ ½ÇÁ¦ ¼¼°èÀÇ °³³äÀ» ¸ðµ¨¸µÇÒ ¼ö ÀÖ°Ô µÆ±â ¶§¹®ÀÌ´Ù! ¶ÇÇÑ ÀÚ¹Ù¸¦ ÅëÇØ ÄÄÆÄÀÏ ½ÃÁ¡¿¡ ƯÁ¤ ±ÔÄ¢À» °­Á¦ÇÔÀ¸·Î½á ½ÇÇà ½ÃÁ¡ÀÇ ¹®Á¦¸¦ ÁÙ¿©ÁÖ´Â Á¤Àû ŸÀÔ ½Ã½ºÅÛÀÇ °¡Ä¡µµ ¹è¿ü´Ù.
½Ã°£ÀÌ Áö³ª¸é¼­ ¼ÒÇÁÆ®¿þ¾î¿¡ ´ëÇØ »ý°¢ÇÏ´Â ´Ù¸¥ ¹æ½ÄÀ» ¹ß°ßÇß´Ù. ÀÌ·± ±ú´ÞÀ½Àº ´Ù¸¥ Á¤Àû ŸÀÔ ¾ð¾îÀÎ ½ºÄ®¶ó·Î ÇÁ·Î±×·¡¹ÖÀ» ½ÃÀÛÇϸ鼭 ³» ¾È¿¡ ÀÚ¸® Àâ±â ½ÃÀÛÇß´Ù. ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀº ¿ÏÀüÈ÷ »õ·Î¿î Æз¯´ÙÀÓÀ¸·Î, ³» ¸¶À½Àº Ŭ·¡½º¿Í °´Ã¼¿¡ ´ëÇØ »ý°¢ÇÏ´Â °Í¿¡¼­ ¹þ¾î³ª Ŭ·¡½º³ª °´Ã¼ ¾È¿¡ ÀÖ´Â ÇÔ¼ö¿Í ¸Þ¼­µå¸¦ °­Á¶ÇÏ´Â °ÍÀ¸·Î À̵¿Çß´Ù. ¿î ÁÁ°Ôµµ ½ºÄ®¶ó¸¦ ¹è¿ï ¶§´Â ³»°Ô ¸î °¡Áö ȯ»óÀûÀÎ ÀÚ·á°¡ ÀÖ¾ú´Ù. ù ¹ø°´Â ÄÚ¼¼¶ó(Coursera)¿¡ ÀÖ´Â ¸¶Æ¾ ¿À´õ½ºÅ°(Martin Odersky)ÀÇ ÈǸ¢ÇÑ ¡®Functional Programming Principles in Scala(½ºÄ®¶ó·Î ¹è¿ì´Â ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö ¿ø¸®)¡¯¶ó´Â ºñµð¿À ÄÚ½º¿´´Ù. µÎ ¹ø°´Â 2014³â¿¡ Ãâ°£µÈ ¡º½ºÄ®¶ó·Î ¹è¿ì´Â ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö¡»(Á¦ÀÌÆà, 2015))¿´´Ù. ¡®»¡°£ Ã¥¡¯À¸·Î Àß ¾Ë·ÁÁø ÀÌ Ã¥Àº ·ç³ª¸£ ºñ¾Æ¸£µå³ª¼Õ(Runar Bjarnason)°ú Æú Ä¡¿ì»ç³ë(Paul Chiusano)°¡ ¼ö³â°£ ÀڽŵéÀÇ °æÇè°ú ³ë·ÂÀ» ½ñ¾ÆºÎÀº °á°ú¹°À̾ú´Ù. ÀÌ µÎ °¡Áö´Â ³» »ý°¢À» Çü¼ºÇÏ´Â µ¥ Å©°Ô ±â¿©ÇßÀ¸¸ç, ¿À´Ã³¯ ³»°¡ ÇÁ·Î±×·¡¹ÖÀ» ÀνÄÇÏ´Â ¹æ½ÄÀ» ¹Ù²ã³ù´Ù.
ÄÚƲ¸°À» ¹è¿ì±â ½ÃÀÛÇßÀ» ¶§´Â ÄÚƲ¸°ÀÌ ½ºÄ®¶ó¿Í ºñ½ÁÇÑ ¼º´ÉÀ» °¡Á³À½¿¡µµ, ½Ç¿ë¼ºÀ» Ưº°È÷ °­Á¶ÇÏ´Â µ¥ ºñÇØ Å¸ÀÔ ½Ã½ºÅÛÀ» »ç¿ëÇÏ´Â ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀ̶ó´Â Çй®Àû Ãø¸éÀº ±×´ÙÁö °­Á¶ÇÏÁö ¾Ê´Â´Ù´Â »ç½ÇÀ» ±ú´Þ¾Ò´Ù. ¸î¸î Ä£±¸¿Í ÄÚ¼¼¶ó¿¡¼­ ¡®Kotlin for Java Developers(ÀÚ¹Ù °³¹ßÀÚ¸¦ À§ÇÑ ÄÚƲ¸°)¡¯ ÄÚ½º¸¦ ¸¶Ä£ ´ÙÀ½, ¿ì¸®´Â ±× ½ºÅ͵ð ±×·ìÀ» À¯ÁöÇϸ鼭 ÄÚƲ¸°¿¡¼­ ŸÀÔÀ» »ç¿ëÇÏ´Â FP¿¡ ´ëÇØ Å½±¸ÇÏ´Â Åä´ë·Î½á »¡°£ Ã¥ÀÇ ³»¿ëÀ» »ç¿ëÇÏÀÚ°í À̾߱âÇß´Ù. ½½ÇÁ°Ôµµ ÀÌ ¸ðÀÓÀ» ½ÇÁ¦·Î ÁøÇàÇÏÁö´Â ¸øÇßÁö¸¸, ³» ³ª¸§´ë·Î ¿¬±¸¸¦ ´õ ÁøÇàÇؼ­ »õ·Î¿î ÄÚƲ¸° FP Ã¥ÀÇ °³³äÀ» ¸Å´×ÃâÆǻ翡 Á¦¾ÈÇß´Ù. Ãʱ⠾ÆÀ̵ð¾î´Â Æú°ú ·ç³ª¸£ÀÇ Ã¥°ú ¶È°°Àº ³»¿ëÀ» ´Ù·çµÇ ¸ðµç Äڵ带 ½ºÄ®¶ó°¡ ¾Æ´Ñ ÄÚƲ¸°À¸·Î º¯È¯ÇÏ´Â °ÍÀ̾ú´Ù. ÀÌ Á¦¾ÈÀ» ¹Þ¾Æµé¿©Á³À» ¶§ ³ª´Â ¸Å¿ì ±â»¼´Ù. ÇÏÁö¸¸ ÀÏ´Ü ÁýÇÊÀ» ½ÃÀÛÇÏÀÚ Ã¥Àº ±× ÀÚü·Î »ý¸í·ÂÀÌ ÀÖ´Â Á¸Àç°¡ µÆ°í, ±âÁ¸ÀÇ Á¦¾È¿¡¼­ ¸¹Àº °ÍÀÌ(ÄÚµå»Ó ¾Æ´Ï¶ó º»¹®±îÁöµµ) ´Þ¶óÁ³´Ù. ±×·³¿¡µµ ÀÌ Ã¥Àº ¿øº»ÀÎ »¡°£ Ã¥ÀÇ ±¸Á¶¸¦ ¸Å¿ì Ãæ½ÇÈ÷ µû¸£°í ÀÖ´Ù.
ÄÚƲ¸° °³¹ßÀÚ¸¦ À§ÇØ ÀÌ Ã¥À» ¾²¸é¼­ ³ª Àڽŵµ ¾öû³ª°Ô ¼ºÀåÇÒ ¼ö ÀÖ¾ú´Ù. ±× °úÁ¤Àº ÈǸ¢ÇÑ ¹è¿òÀÇ °æÇèÀ̱⵵ ÇßÀ¸¸ç, ÀÌÀüº¸´Ù ÀÌ Ã¥ÀÇ °³³äÀ» ´õ ½É¿ÀÇÏ°í dzºÎÇÏ°Ô ÀÌÇØÇÒ ¼ö ÀÖ°Ô µÆ´Ù. ÀÌ Ã¥À» ÅëÇÑ ¿©ÇàÀ» ½ÃÀÛÇÏ´Â ¿©·¯ºÐµµ ³»°¡ °¢°¢ÀÇ ÆäÀÌÁö¸¦ ÀûÀ» ¶§¸¶´Ù ´À³¢°í ¹è¿ü´ø ³»¿ëÀ» ÃÖ´ëÇÑ ¸¹ÀÌ ¾ò¾î°¡±æ ¹Ù¶õ´Ù. ¼Ò°³ÇÏ´Â °³³äÀ» ÀÌÇØÇϸé, ¿©·¯ºÐÀÌ Äڵ带 ÀÛ¼ºÇÏ´Â ¹æ½Ä°ú ±× ¾ÆÀ̵ð¾î¸¦ ¿©·¯ºÐÀÇ ¹ßÀÚ±¹À» µû¶ó¿À´Â ´Ù¸¥ »ç¶÷µé¿¡°Ô Á¦½ÃÇÏ´Â ¹æ¹ýÀ» ¿µ¿øÈ÷ ¹Ù²ãÁÙ °ÍÀÌ´Ù. ÀÌ Ã¥ÀÌ ³»°Ô È¿°ú°¡ ÀÖ¾úµíÀÌ ¿©·¯ºÐ¿¡°Ôµµ È¿°ú°¡ ÀÖ±æ ¹Ù¶õ´Ù. ¹«¾ùº¸´Ù ³»°¡ ±×·¨´ø °Íó·³ ¿©·¯ºÐµµ ÀÌ Ã¥ÀÇ ¸ðµç ÆäÀÌÁö¿¡¼­ Àç¹Ì¸¦ ´À³¢°í Áñ±â°Ô µÇ±æ ±â´ëÇÑ´Ù.

¢Â ¿Å±äÀÌÀÇ ¸» ¢Â
ºòµ¥ÀÌÅÍ ºÕÀÌ ÀÏ ¶§ ½ºÄ®¶ó(Scala)¿Í ½ºÆÄÅ©(Spark)°¡ Àû±ØÀûÀ¸·Î Ä¿¹Â´ÏƼ¿¡ ¹Þ¾Æµé¿©Áö¸é¼­ºÎÅÍ ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ ¼¼°£ÀÇ °ü½ÉÀÌ ±× Àü¿¡ ºñÇØ ±ØÀûÀ¸·Î ´Ã¾î³µ´Ù. ÀÌÁ¦´Â ÀÏ¹Ý °³¹ßÀÚ »çÀÌ¿¡µµ ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÌ ¾î´À Á¤µµ ÇʼöÀûÀÎ ÇÁ·Î±×·¡¹Ö Æз¯´ÙÀÓÀ¸·Î ¹Þ¾Æµé¿©Áö´Â ºÐÀ§±â´Ù. 2010³â´ë ÀÌÀü°ú ºñ±³Çϸé, ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö¿¡ ´ëÇÑ Ã¥µµ ¸¹ÀÌ ´Ã¾î³µ°í µ¿¿µ»ó °­Àdzª °ü·Ã ÀÚ·áµµ ÀÎÅͳݿ¡¼­ ¸¹ÀÌ Ã£¾Æº¼ ¼ö ÀÖ°Ô µÆ´Ù.
±×·³¿¡µµ ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀ» Á¤ÅëÀûÀ¸·Î ¾Ë·ÁÁִ åÀº ±×¸® ¸¹Áö ¾Ê´Ù. ¹«¾ùº¸´Ù ÀÏ¹Ý ÇÁ·Î±×·¡¹Ö ¾ð¾î¿¡¼­ ŸÀÔÀ» È°¿ëÇÏ´Â ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÇ °í°è ŸÀÔÀ» Ç¥ÇöÇÏ·Á¸é ¾î·Á¿î Á¡ÀÌ ¸¹À¸¹Ç·Î, ÇÔ¼öÇü Æз¯´ÙÀÓ°ú º¹ÀâÇÑ Å¸ÀÔ ½Ã½ºÅÛÀ» Àû±ØÀûÀ¸·Î Áö¿øÇÏ´Â ÇϽºÄÌ(Haskell)À̳ª ½ºÄ®¶ó °°Àº ¾ð¾î¸¦ »ç¿ëÇØ ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÇ °³³äÀ» ¾Ë·ÁÁÖ´Â °æ¿ì°¡ ¸¹´Ù. ´ëÇ¥ÀûÀΠåÀ¸·Î ÇϽºÄÌÀÇ ¡º°¡Àå ½¬¿î ÇϽºÄÌ Ã¥¡»(ºñÁ¦ÀÌÆÛºí¸¯, 2014)À̳ª À̸¥¹Ù ¡®»¡°£ Ã¥¡¯ÀÎ ½ºÄ®¶óÀÇ ¡º½ºÄ®¶ó·Î ¹è¿ì´Â ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö¡»ÀÌ ÀÖ´Ù.
¹Ý´ë·Î Á¤Àû ŸÀÔÀ» Áö¿øÇÏÁö ¾Ê´Â ¾ð¾î(ÀÚ¹Ù½ºÅ©¸³Æ® µî)¿¡¼­ ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀ» ´Ù·ç´Â Ã¥µµ ¸¹ÀÌ ÀÖÁö¸¸, ŸÀÔ ½Ã½ºÅÛÀ» È°¿ëÇÏÁö ¾Ê±â ¶§¹®¿¡ °í°è ŸÀÔÀÌ ÁÖ´Â ÀåÁ¡À» »ì¸®Áö ¸øÇÑ´Ù´Â ÇÑ°è°¡ ÀÖ´Ù.
ÀÌ Ã¥Àº À¯¸íÇÑ ¡®»¡°£ Ã¥¡¯ÀÇ ÄÚƲ¸° ¹öÀüÀ¸·Î, ÄÚƲ¸°À» ¾Ë°í ÀÖ´Â °³¹ßÀÚµéÀÌ ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÇ °³³äÀ» ±íÀÌ ¹è¿ì°í ¿¬½ÀÇÒ ¼ö ÀÖµµ·Ï ¾²¿´´Ù. »õ·Î¿î Æз¯´ÙÀÓÀ» ¹è¿ì±â À§ÇØ »õ·Î¿î ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ ¹è¿ì¸é, ¹éÁö »óÅ¿¡¼­ °³³ä°ú ¾ð¾î¸¦ ÇÔ²² ¹è¿ï ¼ö ÀÖ¾î ¿ÏÀüÈ÷ »õ·Î¿î °üÁ¡¿¡¼­ ¹è¿òÀ» ÁøÇàÇÒ ¼ö ÀÖ´Ù´Â ÀåÁ¡ÀÌ ÀÖ´Ù. ÇÏÁö¸¸ ¾ð¾î¸¦ ¹è¿ì´Â µ¥ µå´Â ³ë·ÂÀ¸·Î ÀÎÇØ °³³äÀ» ÀÌÇØÇϱâ´Â ´õ ¾î·Á¿öÁú ¼öµµ ÀÖ´Ù. ±×·± Á¡¿¡¼­ º¼ ¶§, ÀÌ Ã¥Àº ÄÚƲ¸° ÇÁ·Î±×·¡¹Ö ¾ð¾î¸¦ »ç¿ëÇßÀ¸¹Ç·Î Á» ´õ ½±°Ô ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö¿¡ Á¢±ÙÇÒ ¼ö ÀÖ´Â ±æÀ» ¿­¾îÁشٰí ÇÒ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
ÀÌ Ã¥À» Àаí, ¿¬½À¹®Á¦¸¦ ¸ðµÎ Ç®¾î³ª°¡´Ù º¸¸é ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÇ °³³äÀ» ÀÌÇØÇÏ°í ´Ù¾çÇÑ ÇÔ¼öÇü ŸÀÔÀ» ¼³°èÇÒ ´É·ÂÀ» Å°¿ö ³ª°¥ ¼ö ÀÖÀ» °ÍÀÌ´Ù. ¶ÇÇÑ, ¸í·ÉÇü Äڵ带 ÀÛ¼ºÇÒ ¶§µµ ÇнÀÇÑ °³³äÀ» È°¿ëÇØ Á» ´õ ¿ì¼öÇÏ°í ¾ÈÀüÇÑ ÇÁ·Î±×·¥À» ÀÛ¼ºÇÒ ¼ö ÀÖ°Ô µÈ´Ù. ºÎµð ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö¿¡ °ü½ÉÀ» °®°í ÀÌ Ã¥À» Áý¾îµç ¿©·¯ºÐÀÌ Àüü ¿©Á¤À» ¸¶Ä£ ÈÄ Àß ÈÆ·ÃµÈ ÇÔ¼öÇü ÇÁ·Î±×·¡¸Ó·Î °Åµì³ª±æ ±â¿øÇÑ´Ù.

̵̧ȍ

¶ó¿ï ¶óÇÏ(Raul Raja)(¾Ö·Î¿ì ¶óÀ̺귯¸® ¸ÞÀÎÅ×À̳Ê/47 µð±×¸®½º(47 Degrees) CTO)
ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö(FP, Functional Programming)Àº ¼ÒÇÁÆ®¿þ¾î¸¦ ÅëÇØ ¹®Á¦¿¡ Á¢±ÙÇÏ°í ¹®Á¦¸¦ ÇØ°áÇÏ´Â ¹æ½ÄÀ» ±Ùº»ÀûÀ¸·Î ¹Ù²å´Ù. ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀº ºÒº¯¼º, ÇÔ¼öÀÇ ¼ø¼ö¼º, ÇÔ¼ö Á¶ÇÕÀ» ¿Ã¹Ù¸£°í ¿¹Ãø °¡´ÉÇÑ ÇÁ·Î±×·¥À» ±¸ÃàÇÏ´Â ¼ö´ÜÀ¸·Î »ç¿ëÇÑ´Ù. ±× ¼Ó¼ºµéÀº ÃÖ±Ù ½Ê¿© ³â°£ ºÐ»ê ½Ã½ºÅÛ, ÀÀ¿ëÇÁ·Î±×·¥, ¼ÒÇÁÆ®¿þ¾î °øÇÐÀ» ¹Ù¶óº¸´Â ¹æ½ÄÀ» º¯È­½ÃÄ×´Ù.
¿©·¯ ÇØ Àü¿¡´Â ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÇ ¼º°ø¿¡ ´ëÇÑ Àǹ®ÀÌ Á¦±âµÆ°í ´Ù¸¥ Æз¯´ÙÀÓ°ú ºñ±³µÇ°Å³ª ¿¬°áµÇ´Â °æ¿ì°¡ ÀÚÁÖ ÀÖ¾ú´Ù. ÇÏÁö¸¸ ¿À´Ã³¯ ´ëºÎºÐÀÇ ¾ð¾î ÄÄÆÄÀÏ·¯¿Í Ç¥ÁØ ¶óÀ̺귯¸®°¡ ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÇ °³³äÀ» ±¤¹üÀ§ÇÏ°Ô Ã¤ÅÃÇÏ°í ÀÖÀ¸¸ç, Ä¿¹Â´ÏƼ¿Í ÆÀÀÌ ½Ã½ºÅÛ ¼³°è¿Í ¾ÆÅ°ÅØó¿¡ Á¢±ÙÇÏ´Â ¹æ½Ä¿¡µµ ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÌ ¿µÇâÀ» ³¢ÃÆ´Ù.
ÄÚƲ¸°Àº ÄÁƼ´º¿¡À̼Ç(continuation), ³ÎÀÌ µÉ ¼ö Àִ ŸÀÔ, ÀÎÅÍÆäÀ̽º, ÆÐÅÏ ¸ÅĪ, ´ë¼öÀû µ¥ÀÌÅÍ Å¸ÀÔ µî°ú °°Àº ÇÔ¼öÇü ±â´ÉÀ» Æ÷ÇÔÇÏ´Â ¸ÖƼÆз¯´ÙÀÓ, ¸ÖƼÇ÷§Æû ¾ð¾î´Ù. ÀÌ·± Ư¡ ´öºÐ¿¡ ÄÚƲ¸°Àº µ¶Æ¯ÇÏ°í Àç¹ÌÀÖÀ¸¸ç °¡Àå È¿À²ÀûÀÎ ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö ¾ð¾î°¡ µÉ ¼ö ÀÖ´Ù.
¾ð¾î¸¶´Ù ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÇ Æ¯¼ºÀ» µå·¯³»´Â ÀڽŸ¸ÀÇ Ç¥Çö ¹æ¹ýÀÌ ÀÖÀ¸¹Ç·Î, ¿©·¯ºÐÀº ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÇ º»ÁúÀÌ ¹«¾ùÀÌ°í ÀÌ º»ÁúÀ» ¾î¶»°Ô Á¦´ë·Î ¹è¿ì´ÂÁö ±Ã±ÝÇÒ ¼ö ÀÖ´Ù. ÀÌ Ã¥ÀÇ ÀúÀÚ Áß ÇÑ »ç¶÷ÀÎ ¸¶¸£ÄÚ´Â À¯¸íÇÑ ¡®»¡°£ Ã¥(Red Book)¡¯ÀÎ ¡º½ºÄ®¶ó·Î ¹è¿ì´Â ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö¡»(Á¦ÀÌÆà, 2015)À» À̹ø¿¡´Â ÄÚƲ¸°À» ¹Ø¹Ù´ÚºÎÅÍ ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö ÆÐÅÏÀ» ¼³¸íÇÏ´Â ¼ö´ÜÀ¸·Î »ç¿ëÇØ °¢»öÇß´Ù. ÀÌ Ã¥Àº ÇÔ¼ö ÇÕ¼º°ú ´ë¼öÀû ¼³°è¶ó´Â ±âº» °³³äÀ» ÀÚ¼¼È÷ ¼³¸íÇÏ°í, ±× ÈÄ ÇÔ¼öÇü ÆÐÅÏ°ú µ¥ÀÌÅÍ Å¸ÀÔÀ» ¹Ø¹Ù´ÚºÎÅÍ ¾î¶»°Ô ±¸ÇöÇÏ´ÂÁö º¸¿©ÁÖ´Â ¿¬½À¹®Á¦¿Í ¿¹Á¦¸¦ ÅëÇØ ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀ» ¿¬½ÀÇÏ°í ¹è¿ìµµ·Ï ¿©·¯ºÐÀ» ÃÊ´ëÇÑ´Ù.
¿À·ù ó¸® °°Àº ÀϹÝÀûÀÎ ½Ã³ª¸®¿À¿¡¼­ ½ÃÀÛÇØ ½ºÆ®¸®¹Ö °°Àº ´õ º¹ÀâÇÑ °æ¿ì¿¡ À̸£µµ·Ï, ÀÌ Ã¥Àº ÇÔ¼öÇü ÇÁ·Î±×·¡¸ÓÀÇ ¹è¿òÀ» º¸¿ÏÇØÁÖ°í ÇÙ½É ÇÔ¼öÇü Ãß»óÈ­¿Í ÆÐÅÏÀ» ¹è¿ì±â À§ÇÑ ±Ùº»ÀûÀÎ Á¢±Ù ¹æ½ÄÀ» Á¦°øÇÑ´Ù.

¸ñÂ÷

1ºÎ. ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö ¼Ò°³

1Àå. ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀ̶õ?
1.1 FPÀÇ ÀåÁ¡: °£´ÜÇÑ ¿¹Á¦
1.1.1 ºÎ¼ö È¿°ú°¡ ÀÖ´Â ÇÁ·Î±×·¥
1.1.2 ÇÔ¼öÇü Çعý: ºÎ¼ö È¿°ú Á¦°ÅÇϱâ
1.2 Á¤È®È÷ (¼ø¼ö) ÇÔ¼ö¶õ ¹«¾ùÀΰ¡?
1.3 ÂüÁ¶ Åõ¸í¼º, ¼ø¼ö¼º, ġȯ ¸ðµ¨
1.4 ¾ÕÀ¸·Î »ìÆ캼 ³»¿ë
¿ä¾à

2Àå. ÄÚƲ¸°À¸·Î ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö ½ÃÀÛÇϱâ
2.1 °íÂ÷ ÇÔ¼ö: ÇÔ¼ö¸¦ ÇÔ¼ö¿¡ ³Ñ±â±â
2.1.1 Àá½Ã µ¹¾Æ°¡±â: ·çÇÁ¸¦ ÇÔ¼öÀûÀ¸·Î ÀÛ¼ºÇÏ´Â ¹æ¹ý
2.1.2 ù ¹ø° °íÂ÷ ÇÔ¼ö ÀÛ¼ºÇϱâ
2.2 ´ÙÇüÀû ÇÔ¼ö: ŸÀÔ¿¡ ´ëÇØ Ãß»óÈ­Çϱâ
2.2.1 ´ÙÇüÀû ÇÔ¼ö ¿¹Á¦
2.2.2 À͸í ÇÔ¼ö¸¦ »ç¿ëÇØ °íÂ÷ ÇÔ¼ö È£ÃâÇϱâ
2.3 ŸÀÔ¿¡ ¸ÂÃç ±¸ÇöÇϱâ
¿ä¾à

3Àå. ÇÔ¼öÇü µ¥ÀÌÅÍ ±¸Á¶
3.1 ÇÔ¼öÇü µ¥ÀÌÅÍ ±¸Á¶ Á¤ÀÇÇϱâ
3.2 ÇÔ¼öÀû µ¥ÀÌÅÍ ±¸Á¶ ´Ù·ç±â
3.2.1 ŸÀÔÀ¸·Î ¸ÅĪÇϱâ À§ÇÑ ¡®when¡¯
3.2.2 if-else¸¦ ´ë½ÅÇÏ´Â when
3.2.3 ÆÐÅÏ ¸ÅĪÀº ¹«¾ùÀ̸ç ÄÚƲ¸° ¸ÅĪ°ú ¾î¶² Â÷ÀÌ°¡ ÀÖ³ª?
3.3 ÇÔ¼öÇü µ¥ÀÌÅÍ ±¸Á¶ ¾ÈÀÇ µ¥ÀÌÅÍ °øÀ¯
3.3.1 µ¥ÀÌÅÍ °øÀ¯ÀÇ È¿À²
3.4 ¸®½ºÆ®¿¡ ´ëÇÑ Àç±Í¿Í À̸¦ °íÂ÷ ÇÔ¼ö·Î ÀϹÝÈ­ÇÏ´Â ¹æ¹ý
3.4.1 ¸®½ºÆ®¿¡ ÀÛ¿ëÇÏ´Â ´Ù¸¥ ÇÔ¼öµé
3.4.2 ÄÚƲ¸° Ç¥ÁØ ¶óÀ̺귯¸®ÀÇ ¸®½ºÆ®
3.4.3 ´Ü¼øÇÑ ¿ä¼Òµé·ÎºÎÅÍ ¸®½ºÆ® ÇÔ¼ö¸¦ ÇÕ¼ºÇÏ´Â µ¥ µû¸¥ ºñÈ¿À²
3.5 Æ®¸®
¿ä¾à

4Àå. ¿¹¿Ü¸¦ »ç¿ëÇÏÁö ¾Ê°í ¿À·ù ´Ù·ç±â
4.1 ¿¹¿Ü¸¦ ´øÁö´Â °ÍÀÇ ¹®Á¦Á¡
4.2 ¿¹¿Ü¿¡ ´ëÇÑ ¹®Á¦°¡ ÀÖ´Â ´ë¾È
4.2.1 ¼¾Æ¼³Ú °ª
4.2.2 µðÆúÆ® °ª Á¦°ø
4.3 OptionÀ¸·Î ¼º°ø »óȲ ÀÎÄÚµùÇϱâ
4.3.1 Option »ç¿ë ÆÐÅÏ
4.3.2 Option ÇÕ¼º, ²ø¾î¿Ã¸®±â ¹× ¿¹¿Ü ±â¹Ý API °¨½Î±â
4.3.3 Option°ú for ÄÄÇÁ¸®Çî¼Ç »ç¿ëÇϱâ
4.4 ¼º°ø°ú ½ÇÆÐ Á¶°ÇÀ» Either·Î ÀÎÄÚµùÇϱâ
4.4.1 Either¸¦ for ÄÄÇÁ¸®Çî¼Ç¿¡¼­ »ç¿ëÇϱâ
¿ä¾à


5Àå. ¾ö°Ý¼º°ú Áö¿¬¼º
5.1 ¾ö°ÝÇÑ ÇÔ¼ö¿Í ¾ö°ÝÇÏÁö ¾ÊÀº ÇÔ¼ö
5.2 È®Àå ¿¹Á¦: Áö¿¬ ¸®½ºÆ®
5.2.1 ½ºÆ®¸²À» ¸Þ¸ðÈ­ÇÏ°í Àç°è»ê ÇÇÇϱâ
5.2.2 ½ºÆ®¸² °üÂûÀ» À§ÇÑ µµ¿ì¹Ì ÇÔ¼ö
5.3 ÇÁ·Î±×·¥ ±â¼ú°ú Æò°¡ ºÐ¸®Çϱâ
5.4 °øÀç±Í ÇÔ¼ö¸¦ ÅëÇØ ¹«ÇÑÇÑ µ¥ÀÌÅÍ ½ºÆ®¸² »ý¼ºÇϱâ
5.5 °á·Ð
¿ä¾à

6Àå. ¼ø¼ö ÇÔ¼öÇü »óÅÂ
6.1 ºÎ¼ö È¿°ú¸¦ »ç¿ëÇØ ³­¼ö »ý¼ºÇϱâ
6.2 ¼ø¼ö ÇÔ¼öÇü ³­¼ö »ý¼º±â
6.3 »óÅ°¡ ÀÖ´Â API¸¦ ¼ø¼ö ÇÔ¼öÇü API·Î ¸¸µé±â
6.4 »óÅ µ¿ÀÛÀ» Àü´ÞÇÏ´Â ¾Ï½ÃÀû Á¢±Ù ¹æ¹ý
6.4.1 »óÅ µ¿ÀÛ Á¶ÇÕÀ» ÅëÇØ ´õ Å« ´É·Â ¹ßÈÖÇϱâ
6.4.2 »óÅ µ¿ÀÛÀ» ³»Æ÷½ÃÄѼ­ Àç±ÍÀûÀ¸·Î Àç½ÃµµÇϱâ
6.4.3 ÄÞºñ³×ÀÌÅÍ API¸¦ Ãʱ⠿¹Á¦¿¡ Àû¿ëÇϱâ
6.5 ÀϹÝÀûÀÎ »óÅ µ¿ÀÛ Å¸ÀÔ
6.6 ¼ø¼ö ÇÔ¼öÇü ¸í·ÉÇü ÇÁ·Î±×·¡¹Ö
6.7 °á·Ð
¿ä¾à

2ºÎ. ÇÔ¼öÇü ¼³°è¿Í ÄÞºñ³×ÀÌÅÍ ¶óÀ̺귯¸®

7Àå. ¼ø¼ö ÇÔ¼öÇü º´·Ä¼º
7.1 µ¥ÀÌÅÍ Å¸ÀÔ°ú ÇÔ¼ö ¼±ÅÃÇϱâ
7.1.1 º´·Ä °è»êÀ» À§ÇÑ µ¥ÀÌÅÍ Å¸ÀÔ
7.1.2 µ¿½Ã¼ºÀ» º¸ÀåÇϱâ À§ÇØ º´·Ä °è»ê Á¶ÇÕÇϱâ
7.1.3 ½ÇÇàÇÒ °è»êÀ» ¸í½ÃÀûÀ¸·Î Ç¥½ÃÇϱâ
7.2 Ç¥Çö ¼±ÅÃÇϱâ
7.3 ÃÖÁ¾ »ç¿ëÀÚ¸¦ ¿°µÎ¿¡ µÎ°í API ´Ùµë±â
7.4 ´ë¼öÀû µî½ÄÀ» »ç¿ëÇØ API¿¡ ´ëÇØ Ãß·ÐÇϱâ
7.4.1 ¸ÅÇÎ ±ÔÄ¢
7.4.2 ³í¸® ½º·¹µå ºÐ±âÀÇ ¹ýÄ¢
7.4.3 ³íºí·ÎÅ· ±¸ÇöÀ» À§ÇØ ¾×ÅÍ »ç¿ëÇϱâ
7.5 °¡Àå ÀϹÝÀûÀÎ ÇüÅ·ΠÄÞºñ³×ÀÌÅÍ ´Ùµë±â
¿ä¾à


8Àå. ¼Ó¼º ±â¹Ý Å×½ºÆ®
8.1 ¼Ó¼º ±â¹Ý Å×½ºÆ® ¸Àº¸±â
8.2 µ¥ÀÌÅÍ Å¸ÀÔ°ú ÇÔ¼ö ¼±ÅÃÇϱâ
8.2.1 °¡´ÉÇÑ API¿¡ ´ëÇÑ ÂªÀº Ãʱ⠿¹Á¦ ÄÚµå ¸ðÀ¸±â
8.2.2 ¼Ó¼ºÀÇ ÀÇ¹Ì¿Í API Ž±¸Çϱâ
8.2.3 »ý¼º±âÀÇ API¿Í ÀÇ¹Ì ¹ß°ßÇϱâ
8.2.4 »ý¼ºµÈ °ª¿¡ ÀÇÁ¸ÇÏ´Â »ý¼º±â
8.2.5 ¼Ó¼º µ¥ÀÌÅÍ Å¸ÀÔ ´Ùµë±â
8.3 Å×½ºÆ® ÄÉÀ̽º ÃÖ¼ÒÈ­
8.4 ¶óÀ̺귯¸®¸¦ »ç¿ëÇÏ°í »ç¿ëÀÚ °æÇè °³¼±Çϱâ
8.4.1 ¸î °¡Áö °£´ÜÇÑ ¿¹Á¦
8.4.2 º´·Ä °è»ê¿¡ ¾î¿ï¸®´Â Å×½ºÆ® ½ºÀ§Æ® ÀÛ¼ºÇϱâ
8.5 °íÂ÷ ÇÔ¼ö³ª ´Ù¸¥ °¡´É¼º »ý¼ºÇϱâ
8.6 »ý¼º±âÀÇ ¹ýÄ¢
8.7 °á·Ð
¿ä¾à

9Àå. Æļ­ ÄÞºñ³×ÀÌÅÍ
9.1 ´ë¼ö ¼³°èÇϱâ
9.1.1 ¹®ÀÚ Çϳª¸¦ ÀνÄÇϱâ À§ÇÑ Æļ­
9.1.2 Àüü ¹®ÀÚ¿­À» ÀνÄÇϱâ À§ÇÑ Æļ­
9.1.3 ¹Ýº¹À» ÀνÄÇϱâ À§ÇÑ Æļ­
9.2 ´ë¼ö¸¦ ¼³°èÇÏ´Â ÇÑ °¡Áö Á¢±Ù ¹æ¹ý
9.2.1 ¹®ÀÚ ¹Ýº¹ Ƚ¼ö ¼¼±â
9.2.2 ½½¶óÀ̰̽ú ºñ¾î ÀÖÁö ¾ÊÀº ¹Ýº¹
9.3 ¹®¸Æ¿¡ ´ëÇÑ ¹Î°¨¼º ó¸®Çϱâ
9.4 JSON Æļ­ ÀÛ¼ºÇϱâ
9.4.1 JSON Æļ­ÀÇ ¿¹»ó µ¿ÀÛ Á¤ÀÇÇϱâ
9.4.2 JSON Çü½Ä Á¤¸®
9.4.3 JSON Æļ­
9.5 º¸°í¸¦ ÅëÇØ ¿À·ù¸¦ Ç¥¸é¿¡ µå·¯³»±â
9.5.1 ¿À·ù º¸°í ù ¹ø° ½Ãµµ
9.5.2 ¿À·ù ³»Æ÷¸¦ ÅëÇØ ¿À·ù ´©Àû½ÃÅ°±â
9.5.3 ºÐ±â¿Í ¹éÆ®·¡Å· Á¦¾î
9.6 ´ë¼ö ±¸ÇöÇϱâ
9.6.1 Á¡ÁøÀûÀ¸·Î ´ë¼öÀÇ ±¸Çö ±¸ÃàÇϱâ
9.6.2 Æļ­ÀÇ ½ÃÄö½º ó¸®Çϱâ
9.6.3 Æļ­¿¡ ·¹À̺íÀ» ºÙ¿©¼­ ¿À·ù ¸Þ½ÃÁö Àâ¾Æ³»±â
9.6.4 ¿À·ù ȸº¹°ú ¹éÆ®·¡Å·
9.6.5 ¹®¸Æ ¹Î°¨ Æļ­¸¦ ÅëÇØ »óÅ ÀüÆÄÇϱâ
9.7 °á·Ð
¿ä¾à

3ºÎ. ÇÔ¼öÇü ¼³°èÀÇ ÀÏ¹Ý ÆÐÅÏ

10Àå. ¸ð³ëÀ̵å
10.1 ¸ð³ëÀ̵å¶õ ¹«¾ùÀΰ¡?
10.2 ¸ð³ëÀ̵å·Î ¸®½ºÆ® Á¢±â
10.3 °áÇÕ¼º°ú º´·Ä¼º
10.4 ¿¹Á¦: º´·Ä ÆĽÌ
10.5 Á¢À» ¼ö ÀÖ´Â µ¥ÀÌÅÍ ±¸Á¶
10.6 ¸ð³ëÀ̵å ÇÕ¼ºÇϱâ
10.6.1 ´õ º¹ÀâÇÑ ¸ð³ëÀ̵å Á¶¸³Çϱâ
10.6.2 ¼øȸ À¶ÇÕÀ» À§ÇØ ÇÕ¼ºÇÑ ¸ð³ëÀÌµå »ç¿ëÇϱâ
¿ä¾à

11Àå. ¸ð³ªµå¿Í ÆãÅÍ
11.1 ÆãÅÍ
11.1.1 map ÇÔ¼ö¸¦ ÀϹÝÈ­ÇØ ÆãÅÍ Á¤ÀÇÇϱâ
11.1.2 ¹ýÄ¢ÀÇ Á߿伺°ú ÆãÅÍ¿¡ ´ëÇÑ °ü°è
11.2 ¸ð³ªµå: flatMap°ú unit ÇÔ¼ö ÀϹÝÈ­Çϱâ
11.2.1 ¸ð³ªµå ÀÎÅÍÆäÀ̽º ¼Ò°³
11.3 ¸ð³ªµåÀûÀÎ ÄÞºñ³×ÀÌÅÍ
11.4 ¸ð³ªµå ¹ýÄ¢
11.4.1 °áÇÕ ¹ýÄ¢
11.4.2 ±¸Ã¼ÀûÀÎ ¸ð³ªµå¿¡ ´ëÇØ °áÇÕ ¹ýÄ¢ Áõ¸íÇϱâ
11.4.3 ¿ÞÂÊ°ú ¿À¸¥ÂÊ Ç×µî ¹ýÄ¢
11.5 µµ´ëü ¸ð³ªµå¶õ ¹«¾ùÀΰ¡?
11.5.1 Ç×µî ¸ð³ªµå
11.5.2 State ¸ð³ªµå¿Í ºÎºÐÀûÀΠŸÀÔ Àû¿ë
¿ä¾à

12Àå. Àû¿ë °¡´É ÆãÅÍ¿Í ¼øȸ °¡´É ÆãÅÍ
12.1 Àç»ç¿ë¼ºÀ» À§ÇØ ¸ð³ªµå ÀϹÝÈ­Çϱâ
12.2 ¸ð³ªµåÀÇ ´ë¾ÈÀÎ Àû¿ë °¡´É ÆãÅÍ
12.3 ¸ð³ªµå¿Í Àû¿ë °¡´É ÆãÅÍÀÇ Â÷ÀÌ
12.3.1 Option Àû¿ë °¡´É ÆãÅÍ¿Í Option ¸ð³ªµåÀÇ ºñ±³
12.3.2 Parser Àû¿ë °¡´É ÆãÅÍ¿Í Parser ¸ð³ªµå
12.4 Àû¿ë °¡´É ÆãÅÍÀÇ ÀåÁ¡
12.4.1 ¸ðµç Àû¿ë °¡´É ÆãÅÍ°¡ ¸ð³ªµå´Â ¾Æ´Ï´Ù
12.5 Àû¿ë °¡´É ¹ýÄ¢À» »ç¿ëÇØ ÇÁ·Î±×·¥¿¡ ´ëÇØ Ãß·ÐÇϱâ
12.5.1 ¿ÞÂÊ°ú ¿À¸¥ÂÊ Ç×µî¿ø ¹ýÄ¢
12.5.2 °áÇÕ ¹ýÄ¢
12.5.3 ÀÚ¿¬¼ºÀÇ ¹ýÄ¢
12.6 ¼øȸ °¡´ÉÀ» »ç¿ëÇØ traverse¿Í sequence Ãß»óÈ­Çϱâ
12.7 TraversableÀ» »ç¿ëÇØ °í·ù ŸÀÔÀ» ¹Ýº¹ÀûÀ¸·Î º¯È¯Çϱâ
12.7.1 ¸ð³ëÀ̵忡¼­ Àû¿ë °¡´É ÆãÅÍ·Î
12.7.2 »óÅ µ¿ÀÛÀ» ÀüÆĽÃÅ°´Â µ¿½Ã¿¡ Ä÷º¼Ç ¼øȸÇϱâ
12.7.3 ¼øȸ °¡´É ±¸Á¶ Á¶ÇÕÇϱâ
12.7.4 ´ÜÀÏ Æнº È¿À²¼ºÀ» À§ÇÑ Æ®¸® À¶ÇÕ
12.7.5 ³»Æ÷µÈ ¼øȸ °¡´É ±¸Á¶¸¦ µ¿½Ã ¼øȸÇϱâ
12.7.6 ¸ð³ªµå ÇÕ¼ºÀÇ ÇÔÁ¤°ú ÇÔÁ¤À» ÇÇÇÏ´Â ¹æ¹ý
¿ä¾à

4ºÎ. È¿°ú¿Í ÀÔÃâ·Â

13Àå. ¿ÜºÎ È¿°ú¿Í I/O
13.1 È¿°ú°¡ ÀÖ´Â ÇÁ·Î±×·¥¿¡¼­ È¿°ú »Ì¾Æ³»±â
13.2 È¿°ú°¡ ÀÖ´Â Äڵ带 ºÐ¸®Çϱâ À§ÇØ IO ŸÀÔ µµÀÔÇϱâ
13.2.1 ÀÔ·Â È¿°ú ó¸®Çϱâ
13.2.2 °£´ÜÇÑ IO ŸÀÔÀÇ Àå´ÜÁ¡
13.3 ½Çüȭ¿Í Æ®·¥Æú¸°È­¸¦ ÅëÇØ ½ºÅà ¿À¹öÇ÷Π¿À·ù ¹æÁöÇϱâ
13.3.1 µ¥ÀÌÅÍ »ý¼ºÀÚ·Î È帧 Á¦¾î ½ÇüȭÇϱâ
13.3.2 Æ®·¥Æú¸°È­: ½ºÅà ¿À¹öÇ÷ο¡ ´ëÇÑ ÀϹÝÀûÀÎ Çعý
13.4 ´õ ÀûÀýÇÑ ´µ¾Ó½ºÀÇ IO ŸÀÔ
13.4.1 Ÿ´çÇÑ °¡°ÝÀÌ ºÙÀº ¸ð³ªµå
13.4.2 ÄÜ¼Ö I/O¸¸ Áö¿øÇÏ´Â ¸ð³ªµå
13.4.3 ¼ø¼ö Çؼ®±â¸¦ »ç¿ëÇØ ÄÜ¼Ö I/O Å×½ºÆ®Çϱâ
13.5 ³íºí·ÎÅ·°ú ºñµ¿±â I/O
13.6 ¹ü¿ë IO ŸÀÔ
13.6.1 ¼¼°èÀÇ ¹Ý´ëÂÊ¿¡ ÀÖ´Â ÁÖ ÇÁ·Î±×·¥
13.7 ¿Ö IO ŸÀÔÀÌ ½ºÆ®¸®¹Ö I/O¿¡ ´ëÇØ ºÎÁ·ÇÑ°¡?
¿ä¾à

14Àå. Áö¿ª È¿°ú¿Í °¡º¯ »óÅÂ
14.1 ¼ø¼ö ÇÔ¼öÇü ÄÚµå ¾È¿¡¼­ »óÅ º¯ÀÌ°¡ ÇÕ¹ýÀûÀÌ´Ù
14.2 ºÎ¼ö È¿°úÀÇ ¿µ¿ªÀ» °­Á¦ÇÏ´Â µ¥ÀÌÅÍ Å¸ÀÔ
14.2.1 ¿µ¿ªÀÌ Á¦ÇÑµÈ º¯À̸¦ À§ÇÑ DSL
14.2.2 °¡º¯ ÂüÁ¶ÀÇ ´ë¼ö
14.2.3 °¡º¯ »óÅ µ¿ÀÛ ½ÇÇàÇϱâ
14.2.4 ST ¸ð³ªµåÀÇ µ¥ÀÌÅÍ Å¸ÀÔÀ¸·Î Ç¥ÇöµÈ °¡º¯ ¹è¿­
14.2.5 ¼ø¼ö ÇÔ¼öÀûÀÎ ÀÎÇ÷¹À̽º Äü¼ÒÆ®
14.3 ¼ø¼ö¼ºÀº ¸Æ¶ô¿¡ µû¶ó ´Þ¶óÁø´Ù
14.3.1 ¿¹Á¦¸¦ ÅëÇÑ Á¤ÀÇ
14.3.2 ºÎ¼ö È¿°ú·Î Ãë±ÞÇÒ ¼ö ÀÖ´Â °ÍÀº ¹«¾ùÀϱî?
¿ä¾à

15Àå. ½ºÆ®¸² ó¸®¿Í Á¡ÁøÀû I/O
15.1 ¸í·ÉÇü I/OÀÇ ¹®Á¦Á¡: ¿¹Á¦
15.2 °£´ÜÇÑ Æ®·£½ºµà¼­¸¦ »ç¿ëÇØ ½ºÆ®¸² º¯È¯Çϱâ
15.2.1 ½ºÆ®¸² Æ®·£½ºµà¼­¸¦ ¸¸µé±â À§ÇÑ ÄÞºñ³×ÀÌÅÍ
15.2.2 ÀÌ¾î ºÙÀ̱â¿Í ÇÕ¼ºÀ» »ç¿ëÇØ ¿©·¯ Æ®·£½ºµà¼­ ÇÕÄ¡±â
15.2.3 ÆÄÀÏ Ã³¸®¸¦ À§ÇÑ ½ºÆ®¸² Æ®·£½ºµà¼­
15.3 ÇÁ·ÎÅäÄÝ ÆĶó¹ÌÅÍÈ­¸¦ À§ÇÑ È®Àå °¡´ÉÇÑ ÇÁ·Î¼¼½º
15.3.1 ½ºÆ®¸² ¹ß»ýÀ» À§ÇÑ ¼Ò½º
15.3.2 ½ºÆ®¸² Æ®·£½ºµà¼­ÀÇ ÀÚ¿ø ¾ÈÀü¼º º¸ÀåÇϱâ
15.3.3 Æ®·£½ºµà¼­¸¦ ´ÜÀÏ ÀÔ·Â ½ºÆ®¸²¿¡ Àû¿ëÇϱâ
15.3.4 ´ÙÁß ÀÔ·Â ½ºÆ®¸²
15.3.5 Ãâ·Â 󸮸¦ À§ÇÑ ½ÌÅ©
15.3.6 È¿°ú°¡ Àִ ä³Î¿¡¼­ È¿°ú ¼û±â±â
15.3.7 µ¿ÀûÀÎ ÀÚ¿ø ÇÒ´ç
15.4 ½ÇÁ¦ ¼¼°è¿¡¼­ÀÇ ½ºÆ®¸² Æ®·£½ºµà¼­ È°¿ë
¿ä¾à
¸¶¹«¸®Çϸç

ºÎ·Ï A ¿¬½À¹®Á¦ ÈùÆ®¿Í ÆÁ
ºÎ·Ï B ¿¬½À¹®Á¦ ÇØ´ä
ºÎ·Ï C °í·ù ŸÀÔ
ºÎ·Ï D ŸÀÔ Å¬·¡½º

ÀúÀÚ¼Ò°³

Marco Vermeulen [Àú] ½ÅÀ۾˸² SMS½Åû
»ý³â¿ùÀÏ -

20¿©³â ÀÌ»óÀÇ JVM ÇÁ·Î±×·¡¹Ö °æ·ÂÀÌ ÀÖ´Â ÇÁ·Î±×·¡¸ÓÀÌ´Ù.

Runar Bjarnason [Àú] ½ÅÀ۾˸² SMS½Åû
»ý³â¿ùÀÏ -

Æú Ä¡¿ì»ç³ë(Paul Chiusano)¿Í ÇÔ²² ¡º½ºÄ®¶ó·Î ¹è¿ì´Â ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö¡»(Á¦ÀÌÆà, 2015)À» Àú¼úÇß´Ù.

Paul Chiusano [Àú] ½ÅÀ۾˸² SMS½Åû
»ý³â¿ùÀÏ -

·ç³ª¸£ ºñ¾Æ¸£µå³ª¼Õ(Runar Bjarnason)°ú ÇÔ²² ¡º½ºÄ®¶ó·Î ¹è¿ì´Â ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö¡»(Á¦ÀÌÆà, 2015)À» Àú¼úÇß´Ù.

¿ÀÇö¼® [¿ª] ½ÅÀ۾˸² SMS½Åû
»ý³â¿ùÀÏ -

KAIST ´ëÇпø¿¡¼­ ¡®¸Ó½Å·¯´×¡¯ ¿¬±¸½ÇÀ» Á¹¾÷ÇÏ°í, ÇöÀç±îÁö Çö´ëÀÚµ¿Â÷¿¡¼­ ÀÚÀ²ÁÖÇà°ú µö·¯´× ºÐ¾ß¿¡¼­ 7³â ÀÌ»ó È°¹ßÈ÷ ¿¬±¸ È°µ¿À» Áö¼ÓÇÏ°í ÀÖ´Ù. ȸ»ç¿¡¼­´Â µö·¯´× ±â¼úÀ» È°¿ëÇÏ¿© ´õ ¾ÈÀüÇÑ ÀÚÀ²ÁÖÇà ½Ã½ºÅÛÀ» °³¹ßÇÏ´Â ÀÏÀ» ÇÏ°í ÀÖÀ¸¸ç ¿©°¡½Ã°£¿¡´Â ÀΰøÁö´É ºÐ¾ßÀÇ Ä¿¸®¾î¸¦ ½×±â À§ÇØ µö·¯´× ÇÁ·ÎÁ§Æ®¸¦ ¼öÇàÇÏ°í ÀÖ´Ù. º»ÀÎÀÇ ±â¼úÀûÀÎ ¿ª·®À» ¹ßÀü½ÃÅ°´Â °Í»Ó¸¸ ¾Æ´Ï¶ó ´ëÁßµéÀÌ ÀΰøÁö´ÉÀ» ½±°Ô ÀÌÇØÇÒ ¼ö ÀÖµµ·Ï µ½°íÀÚ ÇÏ´Â ¿­Á¤À» °¡Áö°í ÀÖ´Ù. Áö±Ý ÀΰøÁö´ÉÀº ¼¼»óÀ» ¹Ù²Ù´Â Áß¿äÇÑ ÁöÁ¡¿¡ ¿ÍÀÖ´Ù. ÀΰøÁö´ÉÀº ¿ì¸®°¡ ¾ÕÀ¸·Î ¸ÂÀÌÇÒ ¸¹Àº ¹®Á¦µéÀ»

ÆîÃ帱â
¼­Çü±¹ [¿ª] ½ÅÀ۾˸² SMS½Åû
»ý³â¿ùÀÏ -

KAIST Àü»êÇаú Çкθ¦ Á¹¾÷ÇÏ°í ¼­°­´ë Á¤º¸Åë½Å´ëÇпø Á¤º¸½Ã½ºÅÛ Àü°øÀ¸·Î ¼®»çÇÐÀ§¸¦ ÃëµæÇß´Ù. ¼ÖÆ®·è½º, ¿ÍÀÌÁî³Ó µîÀÇ °Ë»ö°ú ÅؽºÆ®¸¶ÀÌ´× Àü¹® ±â¾÷¿¡¼­ Å°¿öµå ÃßÃâ±â, ¹®¼­ Ŭ·¯½ºÅ͸µ ¿£Áø, ƯÇã ¼±Çà ±â¼ú °Ë»ö ½Ã½ºÅÛ µîÀ» °³¹ßÇßÀ¸¸ç, ÅؽºÆ® À̸éÀÇ Á¤º¸¸¦ ij³»°í(¸» ±×´ë·Î ¸¶ÀÌ´×ÇÏ´Â) È°¿ëÇÏ´Â µ¥ °ü½ÉÀÌ ¸¹´Ù.

ÀÌ »óÇ°ÀÇ ½Ã¸®Áî

(ÃÑ 24±Ç / ÇöÀ籸¸Å °¡´Éµµ¼­ 24±Ç)

¼±ÅÃÇÑ »óÇ° ºÏÄ«Æ®´ã±â
ÆîÃ帱â

ÄÄÇ»ÅÍ/ÀÎÅÍ³Ý ºÐ¾ß¿¡¼­ ¸¹Àº ȸ¿øÀÌ ±¸¸ÅÇÑ Ã¥

    ¸®ºä

    0.0 (ÃÑ 0°Ç)

    100ÀÚÆò

    ÀÛ¼º½Ã À¯ÀÇ»çÇ×

    ÆòÁ¡
    0/100ÀÚ
    µî·ÏÇϱâ

    100ÀÚÆò

    10.0
    (ÃÑ 0°Ç)

    ÆǸÅÀÚÁ¤º¸

    • ÀÎÅÍÆÄÅ©µµ¼­¿¡ µî·ÏµÈ ¿ÀǸ¶ÄÏ »óÇ°Àº ±× ³»¿ë°ú Ã¥ÀÓÀÌ ¸ðµÎ ÆǸÅÀÚ¿¡°Ô ÀÖÀ¸¸ç, ÀÎÅÍÆÄÅ©µµ¼­´Â ÇØ´ç »óÇ°°ú ³»¿ë¿¡ ´ëÇØ Ã¥ÀÓÁöÁö ¾Ê½À´Ï´Ù.

    »óÈ£

    (ÁÖ)±³º¸¹®°í

    ´ëÇ¥ÀÚ¸í

    ¾Èº´Çö

    »ç¾÷ÀÚµî·Ï¹øÈ£

    102-81-11670

    ¿¬¶ôó

    1544-1900

    ÀüÀÚ¿ìÆíÁÖ¼Ò

    callcenter@kyobobook.co.kr

    Åë½ÅÆǸž÷½Å°í¹øÈ£

    01-0653

    ¿µ¾÷¼ÒÀçÁö

    ¼­¿ïƯº°½Ã Á¾·Î±¸ Á¾·Î 1(Á¾·Î1°¡,±³º¸ºôµù)

    ±³È¯/ȯºÒ

    ¹ÝÇ°/±³È¯ ¹æ¹ý

    ¡®¸¶ÀÌÆäÀÌÁö > Ãë¼Ò/¹ÝÇ°/±³È¯/ȯºÒ¡¯ ¿¡¼­ ½Åû ¶Ç´Â 1:1 ¹®ÀÇ °Ô½ÃÆÇ ¹× °í°´¼¾ÅÍ(1577-2555)¿¡¼­ ½Åû °¡´É

    ¹ÝÇ°/±³È¯°¡´É ±â°£

    º¯½É ¹ÝÇ°ÀÇ °æ¿ì Ãâ°í¿Ï·á ÈÄ 6ÀÏ(¿µ¾÷ÀÏ ±âÁØ) À̳»±îÁö¸¸ °¡´É
    ´Ü, »óÇ°ÀÇ °áÇÔ ¹× °è¾à³»¿ë°ú ´Ù¸¦ °æ¿ì ¹®Á¦Á¡ ¹ß°ß ÈÄ 30ÀÏ À̳»

    ¹ÝÇ°/±³È¯ ºñ¿ë

    º¯½É ȤÀº ±¸¸ÅÂø¿À·Î ÀÎÇÑ ¹ÝÇ°/±³È¯Àº ¹Ý¼Û·á °í°´ ºÎ´ã
    »óÇ°À̳ª ¼­ºñ½º ÀÚüÀÇ ÇÏÀÚ·Î ÀÎÇÑ ±³È¯/¹ÝÇ°Àº ¹Ý¼Û·á ÆǸÅÀÚ ºÎ´ã

    ¹ÝÇ°/±³È¯ ºÒ°¡ »çÀ¯

    ·¼ÒºñÀÚÀÇ Ã¥ÀÓ ÀÖ´Â »çÀ¯·Î »óÇ° µîÀÌ ¼Õ½Ç ¶Ç´Â ÈÑ¼ÕµÈ °æ¿ì
    (´ÜÁö È®ÀÎÀ» À§ÇÑ Æ÷Àå ÈѼÕÀº Á¦¿Ü)

    ·¼ÒºñÀÚÀÇ »ç¿ë, Æ÷Àå °³ºÀ¿¡ ÀÇÇØ »óÇ° µîÀÇ °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì
    ¿¹) È­ÀåÇ°, ½ÄÇ°, °¡ÀüÁ¦Ç°(¾Ç¼¼¼­¸® Æ÷ÇÔ) µî

    ·º¹Á¦°¡ °¡´ÉÇÑ »óÇ° µîÀÇ Æ÷ÀåÀ» ÈѼÕÇÑ °æ¿ì
    ¿¹) À½¹Ý/DVD/ºñµð¿À, ¼ÒÇÁÆ®¿þ¾î, ¸¸È­Ã¥, ÀâÁö, ¿µ»ó È­º¸Áý

    ·½Ã°£ÀÇ °æ°ú¿¡ ÀÇÇØ ÀçÆǸŰ¡ °ï¶õÇÑ Á¤µµ·Î °¡Ä¡°¡ ÇöÀúÈ÷ °¨¼ÒÇÑ °æ¿ì

    ·ÀüÀÚ»ó°Å·¡ µî¿¡¼­ÀÇ ¼ÒºñÀÚº¸È£¿¡ °üÇÑ ¹ý·üÀÌ Á¤ÇÏ´Â ¼ÒºñÀÚ Ã»¾àöȸ Á¦ÇÑ ³»¿ë¿¡ ÇØ´çµÇ´Â °æ¿ì

    »óÇ° Ç°Àý

    °ø±Þ»ç(ÃâÆÇ»ç) Àç°í »çÁ¤¿¡ ÀÇÇØ Ç°Àý/Áö¿¬µÉ ¼ö ÀÖÀ½

    ¼ÒºñÀÚ ÇÇÇغ¸»ó
    ȯºÒÁö¿¬¿¡ µû¸¥ ¹è»ó

    ·»óÇ°ÀÇ ºÒ·®¿¡ ÀÇÇÑ ±³È¯, A/S, ȯºÒ, Ç°Áúº¸Áõ ¹× ÇÇÇغ¸»ó µî¿¡ °üÇÑ »çÇ×Àº ¼ÒºñÀÚºÐÀïÇØ°á ±âÁØ (°øÁ¤°Å·¡À§¿øȸ °í½Ã)¿¡ ÁØÇÏ¿© 󸮵Ê

    ·´ë±Ý ȯºÒ ¹× ȯºÒÁö¿¬¿¡ µû¸¥ ¹è»ó±Ý Áö±Þ Á¶°Ç, ÀýÂ÷ µîÀº ÀüÀÚ»ó°Å·¡ µî¿¡¼­ÀÇ ¼ÒºñÀÚ º¸È£¿¡ °üÇÑ ¹ý·ü¿¡ µû¶ó ó¸®ÇÔ

    (ÁÖ)KGÀ̴Ͻýº ±¸¸Å¾ÈÀü¼­ºñ½º¼­ºñ½º °¡ÀÔ»ç½Ç È®ÀÎ

    (ÁÖ)ÀÎÅÍÆÄÅ©Ä¿¸Ó½º´Â ȸ¿ø´ÔµéÀÇ ¾ÈÀü°Å·¡¸¦ À§ÇØ ±¸¸Å±Ý¾×, °áÁ¦¼ö´Ü¿¡ »ó°ü¾øÀÌ (ÁÖ)ÀÎÅÍÆÄÅ©Ä¿¸Ó½º¸¦ ÅëÇÑ ¸ðµç °Å·¡¿¡ ´ëÇÏ¿©
    (ÁÖ)KGÀ̴Ͻýº°¡ Á¦°øÇÏ´Â ±¸¸Å¾ÈÀü¼­ºñ½º¸¦ Àû¿ëÇÏ°í ÀÖ½À´Ï´Ù.

    ¹è¼Û¾È³»

    • ±³º¸¹®°í »óÇ°Àº Åùè·Î ¹è¼ÛµÇ¸ç, Ãâ°í¿Ï·á 1~2Àϳ» »óÇ°À» ¹Þ¾Æ º¸½Ç ¼ö ÀÖ½À´Ï´Ù.

    • Ãâ°í°¡´É ½Ã°£ÀÌ ¼­·Î ´Ù¸¥ »óÇ°À» ÇÔ²² ÁÖ¹®ÇÒ °æ¿ì Ãâ°í°¡´É ½Ã°£ÀÌ °¡Àå ±ä »óÇ°À» ±âÁØÀ¸·Î ¹è¼ÛµË´Ï´Ù.

    • ±ººÎ´ë, ±³µµ¼Ò µî ƯÁ¤±â°üÀº ¿ìü±¹ Åù踸 ¹è¼Û°¡´ÉÇÕ´Ï´Ù.

    • ¹è¼Ûºñ´Â ¾÷ü ¹è¼Ûºñ Á¤Ã¥¿¡ µû¸¨´Ï´Ù.

    • - µµ¼­ ±¸¸Å ½Ã 15,000¿ø ÀÌ»ó ¹«·á¹è¼Û, 15,000¿ø ¹Ì¸¸ 2,500¿ø - »óÇ°º° ¹è¼Ûºñ°¡ ÀÖ´Â °æ¿ì, »óÇ°º° ¹è¼Ûºñ Á¤Ã¥ Àû¿ë