- ÇöÀç À§Ä¡
- home > ÄÄÇ»ÅÍ¡¤ICT¡¤¾îÇÐ > ÄÄÇ»ÅÍ¡¤IT µµ¼ > ÇÁ·Î±×·¡¹Ö/¾ð¾î > ºò ³Êµå ·£Ä¡ÀÇ ÄÚƲ¸° ÇÁ·Î±×·¡¹Ö[Á¦ÀÌÆà]
¡®ºò ³Êµå ·£Ä¡¡¯ÀÇ Ç³ºÎÇÑ ¼ÒÇÁÆ®¿þ¾î ±³À°°ú °³¹ß ³ëÇÏ¿ì°¡ ´ã±ä ÄÚƲ¸° ¼Àû!
ÄÚƲ¸°Àº ÀÚ¹Ù¿Í »óÈ£ ¿î¿ëµÇ°í ±¸±Û ¾Èµå·ÎÀÌµå ½Ã½ºÅÛ¿¡¼ ¿Ïº®ÇÏ°Ô Áö¿øµÇµµ·Ï ¼³°èµÈ Á¤Àû ŸÀÔ ¾ð¾îÀÌ´Ù. ÀÌ Ã¥Àº ºò ³Êµå ·£Ä¡(www.bignerdranch.com)ÀÇ ÄÚƲ¸° ÇÙ½É ±³À° °úÁ¤À» ±â¹ÝÀ¸·Î Àú¼úµÇ¾úÀ¸¸ç, ÄÚƲ¸°ÀÇ ÇÙ½É °³³ä°ú API¿¡ ´ëÇÑ ¸íÄèÇÑ ¼³¸í ¹× ½Ç½À ¿¹Á¦¸¦ ÅëÇؼ µ¶ÀÚ ¿©·¯ºÐÀÌ ÁÖ¸ñ¹Þ°í ÀÖ´Â ÄÚƲ¸° ¾ð¾î¸¦ È¿À²ÀûÀ¸·Î ¹è¿ì°í »ç¿ëÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» °¡¸£ÃÄ ÁØ´Ù. ¶ÇÇÑ, Á¬ºê·¹ÀÎÁîÀÇ ÀÎÅÚ¸®Á¦ÀÌ(IntelliJ IDEA)¿Í ¾Èµå·ÎÀÌµå ½ºÆ©µð¿À¸¦ »ç¿ëÇؼ ÄÚƲ¸° Äڵ带 ÀÛ¼ºÇÏ´Â °³¹ß ȯ°æµµ ¾Ë·Á ÁØ´Ù. ?
ÄÚƲ¸°Àº ÀÚ¹Ù¿Í »óÈ£ ¿î¿ëµÇ°í ±¸±Û ¾Èµå·ÎÀÌµå ½Ã½ºÅÛ¿¡¼ ¿Ïº®ÇÏ°Ô Áö¿øµÇµµ·Ï ¼³°èµÈ Á¤Àû ŸÀÔ ¾ð¾îÀÌ´Ù. ÀÌ Ã¥Àº ºò ³Êµå ·£Ä¡(www.bignerdranch.com)ÀÇ ÄÚƲ¸° ÇÙ½É ±³À° °úÁ¤À» ±â¹ÝÀ¸·Î Àú¼úµÇ¾úÀ¸¸ç, ÄÚƲ¸°ÀÇ ÇÙ½É °³³ä°ú API¿¡ ´ëÇÑ ¸íÄèÇÑ ¼³¸í ¹× ½Ç½À ¿¹Á¦¸¦ ÅëÇؼ µ¶ÀÚ ¿©·¯ºÐÀÌ ÁÖ¸ñ¹Þ°í ÀÖ´Â ÄÚƲ¸° ¾ð¾î¸¦ È¿À²ÀûÀ¸·Î ¹è¿ì°í »ç¿ëÇÒ ¼ö ÀÖ´Â ¹æ¹ýÀ» °¡¸£ÃÄ ÁØ´Ù. ¶ÇÇÑ, Á¬ºê·¹ÀÎÁîÀÇ ÀÎÅÚ¸®Á¦ÀÌ(IntelliJ IDEA)¿Í ¾Èµå·ÎÀÌµå ½ºÆ©µð¿À¸¦ »ç¿ëÇؼ ÄÚƲ¸° Äڵ带 ÀÛ¼ºÇÏ´Â °³¹ß ȯ°æµµ ¾Ë·Á ÁØ´Ù. ?
ÀúÀÚ: Á¶½Ã ½ºÅ², µ¥À̺ñµå ±×¸°ÇÛÇÁ (ÁöÀºÀÌ), ½ÉÀçö (¿Å±äÀÌ)
CHAPTER 1 ù ¹ø° ÄÚƲ¸° ¾ÖÇø®ÄÉÀÌ¼Ç ÀÛ¼ºÇϱâ 1
ÀÎÅÚ¸®Á¦ÀÌ ¼³Ä¡Çϱâ ...... 1
ù ¹ø° ÄÚƲ¸° ÇÁ·ÎÁ§Æ® »ý¼ºÇϱâ ...... 2
ÄÚƲ¸° REPL ...... 9
±Ã±ÝÁõ ÇؼÒÇϱâ: ¿Ö ÀÎÅÚ¸®Á¦À̸¦ »ç¿ëÇÒ±î? ...... 11
±Ã±ÝÁõ ÇؼÒÇϱâ: JVM¿¡¼ ½ÇÇàÇϱâ ...... 11
縰Áö: REPL·Î »ê¼ú ¿¬»êÀÚ Å×½ºÆ®Çϱâ ...... 12
CHAPTER 2 º¯¼ö, »ó¼ö, ŸÀÔ 13
ŸÀÔ ...... 13
º¯¼ö ¼±¾ðÇϱâ ...... 14
ÄÚƲ¸°ÀÇ ³»Àå ŸÀÔ ...... 16
Àбâ Àü¿ë º¯¼ö ...... 17
ŸÀÔ Ãß·Ð ...... 20
ÄÄÆÄÀÏ ½ÃÁ¡ »ó¼ö ...... 22
ÄÚƲ¸° ¹ÙÀÌÆ®ÄÚµå »ìÆ캸±â ...... 23
±Ã±ÝÁõ ÇؼÒÇϱâ: ÄÚƲ¸°ÀÇ ÀÚ¹Ù ±âº» ŸÀÔ ...... 25
縰Áö: hasSteed ...... 27
縰Áö: À¯´ÏÄÜÀÇ »Ô ...... 27
縰Áö: ¸¶¹ýÀÇ °Å¿ï ...... 28
CHAPTER 3 Á¶°Ç¹®°ú Á¶°Ç½Ä 29
if/else ¹® ...... 30
¹üÀ§ ...... 42
when Ç¥Çö½Ä ...... 43
¹®ÀÚ¿ ÅÛÇø´ ...... 45
縰Áö: ¹üÀ§¿¡ °üÇØ Ãß°¡·Î ¾Ë¾Æº¸±â ...... 47
縰Áö: ¾Æ¿ì¶ó °ü·Ã ÄÚµå °³¼±Çϱâ ...... 48
縰Áö: ±¸¼º °¡´ÉÇÑ Çü½ÄÀÇ »óÅ Ãâ·Â ...... 49
CHAPTER 4 ÇÔ¼ö 51
±âÁ¸ Äڵ带 ÇÔ¼ö·Î ¸¸µé±â ...... 51
ÇÔ¼öÀÇ ±¸Á¶ ...... 54
ÇÔ¼ö È£ÃâÇϱâ ...... 58
ÇÔ¼öµé·Î ¸®ÆÑÅ͸µÇϱâ ...... 60
¿ì¸®ÀÇ ÇÔ¼ö ÀÛ¼ºÇϱâ ...... 62
±âº» ÀÎÀÚ ...... 63
´ÜÀÏ Ç¥Çö½Ä ÇÔ¼ö ...... 65
Unit ÇÔ¼ö ...... 66
Áö¸í ÇÔ¼ö ÀÎÀÚ ...... 67
±Ã±ÝÁõ ÇؼÒÇϱâ: Nothing ŸÀÔ ...... 68
±Ã±ÝÁõ ÇؼÒÇϱâ: ÀÚ¹ÙÀÇ ÆÄÀÏ ¼öÁØ ÇÔ¼ö ...... 70
±Ã±ÝÁõ ÇؼÒÇϱâ: ÇÔ¼ö ¿À¹ö·Îµù ...... 72
±Ã±ÝÁõ ÇؼÒÇϱâ: ¹éƽ ÇÔ¼ö À̸§ ...... 73
縰Áö: ´ÜÀÏ Ç¥Çö½Ä ÇÔ¼ö ...... 75
CHAPTER 5 À͸í ÇÔ¼ö¿Í ÇÔ¼ö ŸÀÔ 77
À͸í ÇÔ¼ö ...... 77
ŸÀÔ Ãß·Ð Áö¿ø ...... 84
ÇÔ¼ö¸¦ ÀÎÀÚ·Î ¹Þ´Â ÇÔ¼ö Á¤ÀÇÇϱâ ...... 86
ÀζóÀÎ ÇÔ¼ö·Î ¸¸µé±â ...... 88
ÇÔ¼ö ÂüÁ¶ ...... 90
¹Ýȯ ŸÀÔÀ¸·Î ÇÔ¼ö ŸÀÔ »ç¿ëÇϱâ ...... 91
±Ã±ÝÁõ ÇؼÒÇϱâ: ÄÚƲ¸°ÀÇ ¶÷´Ù´Â Ŭ·ÎÀú´Ù ...... 93
±Ã±ÝÁõ ÇؼÒÇϱâ: ¶÷´Ù vs ÀÍ¸í ³»ºÎ Ŭ·¡½º ...... 94
CHAPTER 6 null ¾ÈÀü°ú ¿¹¿Ü 97
ÄÚƲ¸°ÀÇ null ó¸® °³¿ä ...... 97
ÄÚƲ¸°ÀÇ ¸í½ÃÀû null ŸÀÔ ...... 99
¿¡·¯ °ËÃâ ½ÃÁ¡(ÄÄÆÄÀÏ VS ·±Å¸ÀÓ) ...... 101
null ¾ÈÀü ó¸® ...... 101
¿¹¿Ü ...... 109
ÀüÁ¦ Á¶°Ç ...... 114
null: ¹«¾ùÀÌ ÁÁÀ»±î? ...... 116
±Ã±ÝÁõ ÇؼÒÇϱâ: checked ¿¹¿Ü¿Í unchecked ¿¹¿Ü ...... 117
±Ã±ÝÁõ ÇؼÒÇϱâ: ´Ù¸¥ ¾ð¾îÀÇ Äڵ带 °°ÀÌ »ç¿ëÇÒ ¶§ÀÇ null ó¸® ...... 118
CHAPTER 7 ¹®ÀÚ¿ 121
ºÎºÐ ¹®ÀÚ¿ ÃßÃâÇϱâ ...... 121
¹®ÀÚ¿ º¯°æÇϱâ ...... 126
¹®ÀÚ¿ ºñ±³ ...... 129
±Ã±ÝÁõ ÇؼÒÇϱâ: À¯´ÏÄÚµå ...... 130
±Ã±ÝÁõ ÇؼÒÇϱâ: ¹®ÀÚ¿ÀÇ °¢ ¹®ÀÚ¸¦ Çϳª¾¿ ó¸®Çϱâ ...... 131
縰Áö: toDragonSpeak ÇÔ¼ö °³¼±Çϱâ ...... 132
CHAPTER 8 ¼ýÀÚ 133
¼ýÀÚ Å¸ÀÔ ...... 133
Á¤¼ö ...... 134
¼Ò¼ö ...... 136
¹®ÀÚ¿À» ¼ýÀÚ Å¸ÀÔÀ¸·Î º¯È¯Çϱâ ...... 137
Int ŸÀÔÀ» Double ŸÀÔÀ¸·Î º¯È¯Çϱâ ...... 138
Double ŸÀÔ °ªÀÇ Çü½Ä ÁöÁ¤Çϱâ ...... 140
Double ŸÀÔ °ªÀ» Int ŸÀÔ °ªÀ¸·Î º¯È¯Çϱâ ...... 141
±Ã±ÝÁõ ÇؼÒÇϱâ: ºñÆ® ¿¬»ê ...... 142
縰Áö: ÀÜ¾× ºÎÁ· ó¸®Çϱâ ...... 143
CHAPTER 9 Ç¥ÁØ ÇÔ¼ö 145
apply ...... 145
let ...... 147
run ...... 148
with ...... 150
also ...... 150
takeIf ...... 151
Ç¥ÁØ ¶óÀ̺귯¸® ÇÔ¼ö »ç¿ëÇϱâ ...... 153
CHAPTER 10 List¿Í Set 155
List ...... 155
¹Ýº¹ ó¸® ...... 165
ÆÄÀÏ µ¥ÀÌÅ͸¦ ÀÐ¾î¼ List¿¡ ³Ö±â ...... 169
ÇØü ¼±¾ð ...... 172
Set ...... 172
while ·çÇÁ ...... 177
break Ç¥Çö½Ä ...... 179
Ä÷º¼Ç º¯È¯ ...... 180
±Ã±ÝÁõ ÇؼÒÇϱâ: ¹è¿ ŸÀÔ ...... 181
±Ã±ÝÁõ ÇؼÒÇϱâ: Àбâ Àü¿ë vs º¯°æ ºÒ°¡´É ...... 182
縰Áö: Á¤ÇüÈµÈ ¼úÁý ¸Þ´º ...... 183
CHAPTER 11 Map 185
Map »ý¼ºÇϱâ ...... 185
Map¿¡¼ °ª °¡Á®¿À±â ...... 188
Map¿¡ Ç׸ñ Ãß°¡Çϱâ ...... 189
MapÀÇ °ª º¯°æÇϱâ ...... 191
縰Áö: ¼úÁý ¹®Áö±â ...... 195
CHAPTER 12 Ŭ·¡½º Á¤ÀÇÇϱâ 197
Ŭ·¡½º Á¤ÀÇÇϱâ ...... 197
ÀνºÅϽº »ý¼ºÇϱâ ...... 198
Ŭ·¡½º ÇÔ¼ö ...... 199
°¡½Ã¼º°ú ĸ½¶È ...... 200
Ŭ·¡½º ¼Ó¼º ...... 202
NyetHack ÄÚµå ¸®ÆÑÅ͸µÇϱâ ...... 209
ÆÐÅ°Áö »ç¿ëÇϱâ ...... 217
±Ã±ÝÁõ ÇؼÒÇϱâ: var°ú val ¼Ó¼ºÀÇ ³»ºÎ ±¸Çö ...... 220
±Ã±ÝÁõ ÇؼÒÇϱâ: °æÇÕ »óÅ ¹æÁöÇϱâ ...... 223
±Ã±ÝÁõ ÇؼÒÇϱâ: ÆÐÅ°Áö °¡½Ã¼º ...... 225
CHAPTER 13 ÃʱâÈ 227
»ý¼ºÀÚ ...... 228
ÃʱâÈ ºí·Ï ...... 234
¼Ó¼º ÃʱâÈ ...... 235
ÃʱâÈ ¼ø¼ ...... 239
ÃʱâÈ Áö¿¬½ÃÅ°±â ...... 241
±Ã±ÝÁõ ÇؼÒÇϱâ: ÃʱâÈ ¼ø¼¸¦ °í·ÁÇÑ ÄÚµå ÀÛ¼º ...... 244
縰Áö: ¿¢½ºÄø®¹ö °ËÀÇ ºÒ°¡»çÀÇ ...... 247
CHAPTER 14 »ó¼Ó 249
Room Ŭ·¡½º Á¤ÀÇÇϱâ ...... 249
¼ºê Ŭ·¡½º »ý¼ºÇϱâ ...... 251
ŸÀÔ °Ë»ç ...... 257
ÄÚƲ¸° ŸÀÔÀÇ »ó¼Ó °èÃþ ...... 260
±Ã±ÝÁõ ÇؼÒÇϱâ: Any Ŭ·¡½º ...... 263
CHAPTER 15 °´Ã¼ 267
object Å°¿öµå ...... 267
Áßø Ŭ·¡½º ...... 276
µ¥ÀÌÅÍ Å¬·¡½º ...... 279
enum Ŭ·¡½º ...... 284
¿¬»êÀÚ ¿À¹ö·Îµù ...... 287
NyetHack °ÔÀÓ ¼¼°è ŽÇèÇϱâ ...... 290
±Ã±ÝÁõ ÇؼÒÇϱâ: °´Ã¼ÀÇ °ª ºñ±³Çϱâ ...... 293
±Ã±ÝÁõ ÇؼÒÇϱâ: ADT ...... 296
縰Áö: ¡®quit¡¯ ¸í·É ...... 299
縰Áö: °ÔÀÓ ¼¼°è Áöµµ ±¸ÇöÇϱâ ...... 300
縰Áö: Á¾À» Ä¡±â ...... 300
CHAPTER 16 ÀÎÅÍÆäÀ̽º¿Í Ãß»ó Ŭ·¡½º 301
ÀÎÅÍÆäÀ̽º Á¤ÀÇÇϱâ ...... 301
ÀÎÅÍÆäÀ̽º ±¸ÇöÇϱâ ...... 303
±âº» ±¸Çö ...... 305
Ãß»ó Ŭ·¡½º ...... 306
NyetHackÀÇ ÀüÅõ ±â´É ...... 309
CHAPTER 17 Á¦³×¸¯ 315
Á¦³×¸¯ ŸÀÔ Á¤ÀÇÇϱâ ...... 316
Á¦³×¸¯ ÇÔ¼ö ...... 318
º¹ÇÕ Á¦³×¸¯ ŸÀÔ ¸Å°³º¯¼ö ...... 320
Á¦³×¸¯ ŸÀÔ Á¦¾à ...... 322
vararg¿Í get ...... 323
in°ú out ...... 326
±Ã±ÝÁõ ÇؼÒÇϱâ: reified Å°¿öµå ...... 331
CHAPTER 18 È®Àå 335
È®Àå ÇÔ¼ö Á¤ÀÇÇϱâ ...... 335
Á¦³×¸¯ È®Àå ÇÔ¼ö ...... 338
È®Àå ¼Ó¼º ...... 340
null °¡´É ŸÀÔÀÇ È®Àå ÇÔ¼ö ...... 341
È®Àå ÇÔ¼öÀÇ ¹ÙÀÌÆ®ÄÚµå ±¸Çö ...... 342
È®Àå ÇÔ¼ö·Î ÃßÃâÇϱâ ...... 343
È®Àå ÆÄÀÏ Á¤ÀÇÇϱâ ...... 345
È®Àå ÇÔ¼ö À̸§ º¯°æÇϱâ ...... 347
ÄÚƲ¸° Ç¥ÁØ ¶óÀ̺귯¸®ÀÇ È®Àå ÇÔ¼ö¿Í ¼Ó¼º ...... 348
縰Áö: toDragonSpeak È®Àå ÇÔ¼ö ...... 349
縰Áö: frameÀ» È®Àå ÇÔ¼ö·Î º¯°æÇϱâ ...... 349
CHAPTER 19 ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö 351
ÇÔ¼ö À¯Çü ...... 352
¿Ö ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀϱî? ...... 357
½ÃÄö½º ...... 359
±Ã±ÝÁõ ÇؼÒÇϱâ: ¼º´É ÃøÁ¤ ...... 361
縰Áö: MapÀÇ Å°¿Í °ªÀ» ¹Ù²ãÄ¡±âÇϱâ ...... 362
縰Áö: ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀ» Tavern.kt¿¡ Àû¿ëÇϱâ ...... 362
縰Áö: ½½¶óÀ̵ù À©µµ ...... 363
CHAPTER 20 ÀÚ¹Ù¿ÍÀÇ »óÈ£¿î¿ë 365
Àڹ٠Ŭ·¡½º¿Í »óÈ£¿î¿ëÇϱâ ...... 366
»óÈ£¿î¿ë°ú null ó¸® ...... 367
ŸÀÔ ¸ÅÇÎ ...... 371
°ÔÅÍ¿Í ¼¼ÅÍ ±×¸®°í »óÈ£¿î¿ë ...... 373
JVM ¾Ö³ëÅ×ÀÌ¼Ç ...... 375
¿¹¿Ü¿Í »óÈ£¿î¿ë ...... 385
ÀÚ¹ÙÀÇ ÇÔ¼ö ŸÀÔ ...... 389
org.jetbrains.annotations ¶óÀ̺귯¸® Ãß°¡Çϱâ ...... 391
CHAPTER 21 ÄÚƲ¸°À¸·Î ¾Èµå·ÎÀÌµå ¾Û °³¹ßÇϱâ 393
¾Èµå·ÎÀÌµå ½ºÆ©µð¿À ...... 393
UI Á¤ÀÇÇϱâ ...... 400
¿¡¹Ä·¹ÀÌÅÍ¿¡¼ ¾Û ½ÇÇàÇϱâ ...... 403
ij¸¯ÅÍ »ý¼ºÇϱâ ...... 405
Activity Ŭ·¡½º ...... 406
ºä ÄÄÆ÷³ÍÆ®¸¦ ÄÚµå¿Í ¿¬°á½ÃÅ°±â ...... 407
ÄÚƲ¸°-¾Èµå·ÎÀ̵å È®ÀåÀÇ ÇÕ¼º ¼Ó¼º ...... 410
Ŭ¸¯ ¸®½º³Ê ¼³Á¤Çϱâ ...... 412
¾×ƼºñƼ ÀνºÅϽºÀÇ »óÅ º¸Á¸ ...... 414
È®Àå ÇÔ¼ö¸¦ »ç¿ëÇؼ ÄÚµå ¸®ÆÑÅ丵Çϱâ ...... 417
±Ã±ÝÁõ ÇؼÒÇϱâ: ¾Èµå·ÎÀ̵å KTX¿Í Anko ¶óÀ̺귯¸® ...... 420
CHAPTER 22 ÄÚ·çƾ °³¿ä 423
ij¸¯ÅÍ µ¥ÀÌÅÍ ÆĽÌÇϱâ ...... 424
½Ç½Ã°£À¸·Î µ¥ÀÌÅÍ °¡Á®¿À±â ...... 426
¾Èµå·ÎÀ̵å main ½º·¹µå ...... 429
ÄÚ·çƾÀ» È°¼ºÈ½ÃÅ°±â ...... 429
async ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ÄÚ·çƾ ÁöÁ¤Çϱâ ...... 430
launch vs async/await ...... 432
½ÇÇà º¸·ù ÇÔ¼ö ...... 432
縰Áö: ½Ç½Ã°£ µ¥ÀÌÅÍ ...... 433
CHAPTER 23 ÀÌ Ã¥À» ¸¶Ä¡¸ç 435
¾îµð·Î °¡¾ß ÇÒ±î? ...... 435
ºÎ´ã ¾ø´Â ¿¬¶ôó ...... 436
°¨»çÇÕ´Ï´Ù! ...... 436
APPENDIX A ÀÎÅÚ¸®Á¦ÀÌ ¼³Ä¡¿Í ±¸¼ºÇϱâ 437
A-1: JDK ¼³Ä¡Çϱâ ...... 437
A-2: À©µµ¿ì ½Ã½ºÅÛ¿¡¼ ÀÎÅÚ¸®Á¦À̸¦ ¼³Ä¡Çϱâ ...... 437
A-3: ¸Æ OS¿¡¼ ÀÎÅÚ¸®Á¦À̸¦ ¼³Ä¡Çϱâ ...... 442
A-4: ¸®´ª½º¿¡¼ ÀÎÅÚ¸®Á¦À̸¦ ¼³Ä¡Çϱâ ...... 442
ÀÎÅÚ¸®Á¦ÀÌ ¼³Ä¡Çϱâ ...... 1
ù ¹ø° ÄÚƲ¸° ÇÁ·ÎÁ§Æ® »ý¼ºÇϱâ ...... 2
ÄÚƲ¸° REPL ...... 9
±Ã±ÝÁõ ÇؼÒÇϱâ: ¿Ö ÀÎÅÚ¸®Á¦À̸¦ »ç¿ëÇÒ±î? ...... 11
±Ã±ÝÁõ ÇؼÒÇϱâ: JVM¿¡¼ ½ÇÇàÇϱâ ...... 11
縰Áö: REPL·Î »ê¼ú ¿¬»êÀÚ Å×½ºÆ®Çϱâ ...... 12
CHAPTER 2 º¯¼ö, »ó¼ö, ŸÀÔ 13
ŸÀÔ ...... 13
º¯¼ö ¼±¾ðÇϱâ ...... 14
ÄÚƲ¸°ÀÇ ³»Àå ŸÀÔ ...... 16
Àбâ Àü¿ë º¯¼ö ...... 17
ŸÀÔ Ãß·Ð ...... 20
ÄÄÆÄÀÏ ½ÃÁ¡ »ó¼ö ...... 22
ÄÚƲ¸° ¹ÙÀÌÆ®ÄÚµå »ìÆ캸±â ...... 23
±Ã±ÝÁõ ÇؼÒÇϱâ: ÄÚƲ¸°ÀÇ ÀÚ¹Ù ±âº» ŸÀÔ ...... 25
縰Áö: hasSteed ...... 27
縰Áö: À¯´ÏÄÜÀÇ »Ô ...... 27
縰Áö: ¸¶¹ýÀÇ °Å¿ï ...... 28
CHAPTER 3 Á¶°Ç¹®°ú Á¶°Ç½Ä 29
if/else ¹® ...... 30
¹üÀ§ ...... 42
when Ç¥Çö½Ä ...... 43
¹®ÀÚ¿ ÅÛÇø´ ...... 45
縰Áö: ¹üÀ§¿¡ °üÇØ Ãß°¡·Î ¾Ë¾Æº¸±â ...... 47
縰Áö: ¾Æ¿ì¶ó °ü·Ã ÄÚµå °³¼±Çϱâ ...... 48
縰Áö: ±¸¼º °¡´ÉÇÑ Çü½ÄÀÇ »óÅ Ãâ·Â ...... 49
CHAPTER 4 ÇÔ¼ö 51
±âÁ¸ Äڵ带 ÇÔ¼ö·Î ¸¸µé±â ...... 51
ÇÔ¼öÀÇ ±¸Á¶ ...... 54
ÇÔ¼ö È£ÃâÇϱâ ...... 58
ÇÔ¼öµé·Î ¸®ÆÑÅ͸µÇϱâ ...... 60
¿ì¸®ÀÇ ÇÔ¼ö ÀÛ¼ºÇϱâ ...... 62
±âº» ÀÎÀÚ ...... 63
´ÜÀÏ Ç¥Çö½Ä ÇÔ¼ö ...... 65
Unit ÇÔ¼ö ...... 66
Áö¸í ÇÔ¼ö ÀÎÀÚ ...... 67
±Ã±ÝÁõ ÇؼÒÇϱâ: Nothing ŸÀÔ ...... 68
±Ã±ÝÁõ ÇؼÒÇϱâ: ÀÚ¹ÙÀÇ ÆÄÀÏ ¼öÁØ ÇÔ¼ö ...... 70
±Ã±ÝÁõ ÇؼÒÇϱâ: ÇÔ¼ö ¿À¹ö·Îµù ...... 72
±Ã±ÝÁõ ÇؼÒÇϱâ: ¹éƽ ÇÔ¼ö À̸§ ...... 73
縰Áö: ´ÜÀÏ Ç¥Çö½Ä ÇÔ¼ö ...... 75
CHAPTER 5 À͸í ÇÔ¼ö¿Í ÇÔ¼ö ŸÀÔ 77
À͸í ÇÔ¼ö ...... 77
ŸÀÔ Ãß·Ð Áö¿ø ...... 84
ÇÔ¼ö¸¦ ÀÎÀÚ·Î ¹Þ´Â ÇÔ¼ö Á¤ÀÇÇϱâ ...... 86
ÀζóÀÎ ÇÔ¼ö·Î ¸¸µé±â ...... 88
ÇÔ¼ö ÂüÁ¶ ...... 90
¹Ýȯ ŸÀÔÀ¸·Î ÇÔ¼ö ŸÀÔ »ç¿ëÇϱâ ...... 91
±Ã±ÝÁõ ÇؼÒÇϱâ: ÄÚƲ¸°ÀÇ ¶÷´Ù´Â Ŭ·ÎÀú´Ù ...... 93
±Ã±ÝÁõ ÇؼÒÇϱâ: ¶÷´Ù vs ÀÍ¸í ³»ºÎ Ŭ·¡½º ...... 94
CHAPTER 6 null ¾ÈÀü°ú ¿¹¿Ü 97
ÄÚƲ¸°ÀÇ null ó¸® °³¿ä ...... 97
ÄÚƲ¸°ÀÇ ¸í½ÃÀû null ŸÀÔ ...... 99
¿¡·¯ °ËÃâ ½ÃÁ¡(ÄÄÆÄÀÏ VS ·±Å¸ÀÓ) ...... 101
null ¾ÈÀü ó¸® ...... 101
¿¹¿Ü ...... 109
ÀüÁ¦ Á¶°Ç ...... 114
null: ¹«¾ùÀÌ ÁÁÀ»±î? ...... 116
±Ã±ÝÁõ ÇؼÒÇϱâ: checked ¿¹¿Ü¿Í unchecked ¿¹¿Ü ...... 117
±Ã±ÝÁõ ÇؼÒÇϱâ: ´Ù¸¥ ¾ð¾îÀÇ Äڵ带 °°ÀÌ »ç¿ëÇÒ ¶§ÀÇ null ó¸® ...... 118
CHAPTER 7 ¹®ÀÚ¿ 121
ºÎºÐ ¹®ÀÚ¿ ÃßÃâÇϱâ ...... 121
¹®ÀÚ¿ º¯°æÇϱâ ...... 126
¹®ÀÚ¿ ºñ±³ ...... 129
±Ã±ÝÁõ ÇؼÒÇϱâ: À¯´ÏÄÚµå ...... 130
±Ã±ÝÁõ ÇؼÒÇϱâ: ¹®ÀÚ¿ÀÇ °¢ ¹®ÀÚ¸¦ Çϳª¾¿ ó¸®Çϱâ ...... 131
縰Áö: toDragonSpeak ÇÔ¼ö °³¼±Çϱâ ...... 132
CHAPTER 8 ¼ýÀÚ 133
¼ýÀÚ Å¸ÀÔ ...... 133
Á¤¼ö ...... 134
¼Ò¼ö ...... 136
¹®ÀÚ¿À» ¼ýÀÚ Å¸ÀÔÀ¸·Î º¯È¯Çϱâ ...... 137
Int ŸÀÔÀ» Double ŸÀÔÀ¸·Î º¯È¯Çϱâ ...... 138
Double ŸÀÔ °ªÀÇ Çü½Ä ÁöÁ¤Çϱâ ...... 140
Double ŸÀÔ °ªÀ» Int ŸÀÔ °ªÀ¸·Î º¯È¯Çϱâ ...... 141
±Ã±ÝÁõ ÇؼÒÇϱâ: ºñÆ® ¿¬»ê ...... 142
縰Áö: ÀÜ¾× ºÎÁ· ó¸®Çϱâ ...... 143
CHAPTER 9 Ç¥ÁØ ÇÔ¼ö 145
apply ...... 145
let ...... 147
run ...... 148
with ...... 150
also ...... 150
takeIf ...... 151
Ç¥ÁØ ¶óÀ̺귯¸® ÇÔ¼ö »ç¿ëÇϱâ ...... 153
CHAPTER 10 List¿Í Set 155
List ...... 155
¹Ýº¹ ó¸® ...... 165
ÆÄÀÏ µ¥ÀÌÅ͸¦ ÀÐ¾î¼ List¿¡ ³Ö±â ...... 169
ÇØü ¼±¾ð ...... 172
Set ...... 172
while ·çÇÁ ...... 177
break Ç¥Çö½Ä ...... 179
Ä÷º¼Ç º¯È¯ ...... 180
±Ã±ÝÁõ ÇؼÒÇϱâ: ¹è¿ ŸÀÔ ...... 181
±Ã±ÝÁõ ÇؼÒÇϱâ: Àбâ Àü¿ë vs º¯°æ ºÒ°¡´É ...... 182
縰Áö: Á¤ÇüÈµÈ ¼úÁý ¸Þ´º ...... 183
CHAPTER 11 Map 185
Map »ý¼ºÇϱâ ...... 185
Map¿¡¼ °ª °¡Á®¿À±â ...... 188
Map¿¡ Ç׸ñ Ãß°¡Çϱâ ...... 189
MapÀÇ °ª º¯°æÇϱâ ...... 191
縰Áö: ¼úÁý ¹®Áö±â ...... 195
CHAPTER 12 Ŭ·¡½º Á¤ÀÇÇϱâ 197
Ŭ·¡½º Á¤ÀÇÇϱâ ...... 197
ÀνºÅϽº »ý¼ºÇϱâ ...... 198
Ŭ·¡½º ÇÔ¼ö ...... 199
°¡½Ã¼º°ú ĸ½¶È ...... 200
Ŭ·¡½º ¼Ó¼º ...... 202
NyetHack ÄÚµå ¸®ÆÑÅ͸µÇϱâ ...... 209
ÆÐÅ°Áö »ç¿ëÇϱâ ...... 217
±Ã±ÝÁõ ÇؼÒÇϱâ: var°ú val ¼Ó¼ºÀÇ ³»ºÎ ±¸Çö ...... 220
±Ã±ÝÁõ ÇؼÒÇϱâ: °æÇÕ »óÅ ¹æÁöÇϱâ ...... 223
±Ã±ÝÁõ ÇؼÒÇϱâ: ÆÐÅ°Áö °¡½Ã¼º ...... 225
CHAPTER 13 ÃʱâÈ 227
»ý¼ºÀÚ ...... 228
ÃʱâÈ ºí·Ï ...... 234
¼Ó¼º ÃʱâÈ ...... 235
ÃʱâÈ ¼ø¼ ...... 239
ÃʱâÈ Áö¿¬½ÃÅ°±â ...... 241
±Ã±ÝÁõ ÇؼÒÇϱâ: ÃʱâÈ ¼ø¼¸¦ °í·ÁÇÑ ÄÚµå ÀÛ¼º ...... 244
縰Áö: ¿¢½ºÄø®¹ö °ËÀÇ ºÒ°¡»çÀÇ ...... 247
CHAPTER 14 »ó¼Ó 249
Room Ŭ·¡½º Á¤ÀÇÇϱâ ...... 249
¼ºê Ŭ·¡½º »ý¼ºÇϱâ ...... 251
ŸÀÔ °Ë»ç ...... 257
ÄÚƲ¸° ŸÀÔÀÇ »ó¼Ó °èÃþ ...... 260
±Ã±ÝÁõ ÇؼÒÇϱâ: Any Ŭ·¡½º ...... 263
CHAPTER 15 °´Ã¼ 267
object Å°¿öµå ...... 267
Áßø Ŭ·¡½º ...... 276
µ¥ÀÌÅÍ Å¬·¡½º ...... 279
enum Ŭ·¡½º ...... 284
¿¬»êÀÚ ¿À¹ö·Îµù ...... 287
NyetHack °ÔÀÓ ¼¼°è ŽÇèÇϱâ ...... 290
±Ã±ÝÁõ ÇؼÒÇϱâ: °´Ã¼ÀÇ °ª ºñ±³Çϱâ ...... 293
±Ã±ÝÁõ ÇؼÒÇϱâ: ADT ...... 296
縰Áö: ¡®quit¡¯ ¸í·É ...... 299
縰Áö: °ÔÀÓ ¼¼°è Áöµµ ±¸ÇöÇϱâ ...... 300
縰Áö: Á¾À» Ä¡±â ...... 300
CHAPTER 16 ÀÎÅÍÆäÀ̽º¿Í Ãß»ó Ŭ·¡½º 301
ÀÎÅÍÆäÀ̽º Á¤ÀÇÇϱâ ...... 301
ÀÎÅÍÆäÀ̽º ±¸ÇöÇϱâ ...... 303
±âº» ±¸Çö ...... 305
Ãß»ó Ŭ·¡½º ...... 306
NyetHackÀÇ ÀüÅõ ±â´É ...... 309
CHAPTER 17 Á¦³×¸¯ 315
Á¦³×¸¯ ŸÀÔ Á¤ÀÇÇϱâ ...... 316
Á¦³×¸¯ ÇÔ¼ö ...... 318
º¹ÇÕ Á¦³×¸¯ ŸÀÔ ¸Å°³º¯¼ö ...... 320
Á¦³×¸¯ ŸÀÔ Á¦¾à ...... 322
vararg¿Í get ...... 323
in°ú out ...... 326
±Ã±ÝÁõ ÇؼÒÇϱâ: reified Å°¿öµå ...... 331
CHAPTER 18 È®Àå 335
È®Àå ÇÔ¼ö Á¤ÀÇÇϱâ ...... 335
Á¦³×¸¯ È®Àå ÇÔ¼ö ...... 338
È®Àå ¼Ó¼º ...... 340
null °¡´É ŸÀÔÀÇ È®Àå ÇÔ¼ö ...... 341
È®Àå ÇÔ¼öÀÇ ¹ÙÀÌÆ®ÄÚµå ±¸Çö ...... 342
È®Àå ÇÔ¼ö·Î ÃßÃâÇϱâ ...... 343
È®Àå ÆÄÀÏ Á¤ÀÇÇϱâ ...... 345
È®Àå ÇÔ¼ö À̸§ º¯°æÇϱâ ...... 347
ÄÚƲ¸° Ç¥ÁØ ¶óÀ̺귯¸®ÀÇ È®Àå ÇÔ¼ö¿Í ¼Ó¼º ...... 348
縰Áö: toDragonSpeak È®Àå ÇÔ¼ö ...... 349
縰Áö: frameÀ» È®Àå ÇÔ¼ö·Î º¯°æÇϱâ ...... 349
CHAPTER 19 ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö 351
ÇÔ¼ö À¯Çü ...... 352
¿Ö ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀϱî? ...... 357
½ÃÄö½º ...... 359
±Ã±ÝÁõ ÇؼÒÇϱâ: ¼º´É ÃøÁ¤ ...... 361
縰Áö: MapÀÇ Å°¿Í °ªÀ» ¹Ù²ãÄ¡±âÇϱâ ...... 362
縰Áö: ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀ» Tavern.kt¿¡ Àû¿ëÇϱâ ...... 362
縰Áö: ½½¶óÀ̵ù À©µµ ...... 363
CHAPTER 20 ÀÚ¹Ù¿ÍÀÇ »óÈ£¿î¿ë 365
Àڹ٠Ŭ·¡½º¿Í »óÈ£¿î¿ëÇϱâ ...... 366
»óÈ£¿î¿ë°ú null ó¸® ...... 367
ŸÀÔ ¸ÅÇÎ ...... 371
°ÔÅÍ¿Í ¼¼ÅÍ ±×¸®°í »óÈ£¿î¿ë ...... 373
JVM ¾Ö³ëÅ×ÀÌ¼Ç ...... 375
¿¹¿Ü¿Í »óÈ£¿î¿ë ...... 385
ÀÚ¹ÙÀÇ ÇÔ¼ö ŸÀÔ ...... 389
org.jetbrains.annotations ¶óÀ̺귯¸® Ãß°¡Çϱâ ...... 391
CHAPTER 21 ÄÚƲ¸°À¸·Î ¾Èµå·ÎÀÌµå ¾Û °³¹ßÇϱâ 393
¾Èµå·ÎÀÌµå ½ºÆ©µð¿À ...... 393
UI Á¤ÀÇÇϱâ ...... 400
¿¡¹Ä·¹ÀÌÅÍ¿¡¼ ¾Û ½ÇÇàÇϱâ ...... 403
ij¸¯ÅÍ »ý¼ºÇϱâ ...... 405
Activity Ŭ·¡½º ...... 406
ºä ÄÄÆ÷³ÍÆ®¸¦ ÄÚµå¿Í ¿¬°á½ÃÅ°±â ...... 407
ÄÚƲ¸°-¾Èµå·ÎÀ̵å È®ÀåÀÇ ÇÕ¼º ¼Ó¼º ...... 410
Ŭ¸¯ ¸®½º³Ê ¼³Á¤Çϱâ ...... 412
¾×ƼºñƼ ÀνºÅϽºÀÇ »óÅ º¸Á¸ ...... 414
È®Àå ÇÔ¼ö¸¦ »ç¿ëÇؼ ÄÚµå ¸®ÆÑÅ丵Çϱâ ...... 417
±Ã±ÝÁõ ÇؼÒÇϱâ: ¾Èµå·ÎÀ̵å KTX¿Í Anko ¶óÀ̺귯¸® ...... 420
CHAPTER 22 ÄÚ·çƾ °³¿ä 423
ij¸¯ÅÍ µ¥ÀÌÅÍ ÆĽÌÇϱâ ...... 424
½Ç½Ã°£À¸·Î µ¥ÀÌÅÍ °¡Á®¿À±â ...... 426
¾Èµå·ÎÀ̵å main ½º·¹µå ...... 429
ÄÚ·çƾÀ» È°¼ºÈ½ÃÅ°±â ...... 429
async ÇÔ¼ö¸¦ »ç¿ëÇÏ¿© ÄÚ·çƾ ÁöÁ¤Çϱâ ...... 430
launch vs async/await ...... 432
½ÇÇà º¸·ù ÇÔ¼ö ...... 432
縰Áö: ½Ç½Ã°£ µ¥ÀÌÅÍ ...... 433
CHAPTER 23 ÀÌ Ã¥À» ¸¶Ä¡¸ç 435
¾îµð·Î °¡¾ß ÇÒ±î? ...... 435
ºÎ´ã ¾ø´Â ¿¬¶ôó ...... 436
°¨»çÇÕ´Ï´Ù! ...... 436
APPENDIX A ÀÎÅÚ¸®Á¦ÀÌ ¼³Ä¡¿Í ±¸¼ºÇϱâ 437
A-1: JDK ¼³Ä¡Çϱâ ...... 437
A-2: À©µµ¿ì ½Ã½ºÅÛ¿¡¼ ÀÎÅÚ¸®Á¦À̸¦ ¼³Ä¡Çϱâ ...... 437
A-3: ¸Æ OS¿¡¼ ÀÎÅÚ¸®Á¦À̸¦ ¼³Ä¡Çϱâ ...... 442
A-4: ¸®´ª½º¿¡¼ ÀÎÅÚ¸®Á¦À̸¦ ¼³Ä¡Çϱâ ...... 442
2019³â °¡Àå À¯¸ÁÇÏ°í ¹è¿ö µÑ °¡Ä¡°¡ ÀÖ´Â ÇÁ·Î±×·¡¹Ö ¾ð¾î Áß Çϳª·Î ¼±Á¤µÈ ÄÚƲ¸°!
¡®ºò ³Êµå ·£Ä¡¡¯ÀÇ Ç³ºÎÇÑ ¼ÒÇÁÆ®¿þ¾î ±³À°°ú °³¹ß ³ëÇÏ¿ì°¡ ´ã±ä ÄÚƲ¸° ¼Àû!
ÄÚƲ¸°Àº °´Ã¼ÁöÇâ»Ó¸¸ ¾Æ´Ï¶ó ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö Æз¯´ÙÀÓ±îÁö Ç°°í ÀÖ½À´Ï´Ù. ÀÌ ÄÚƲ¸° ¾ð¾î¸¦ ½Ç½À°ú ÇÔ²² È®½ÇÇÏ°Ô ³» °ÍÀ¸·Î ¸¸µé°í ½ÍÀ¸½Ã´Ù¸é ÀÌ Ã¥À» ¼±ÅÃÇϼ¼¿ä.
°¢Á¾ ÄÚƲ¸° ÇнÀ Å°¿öµå¸¦ ¹ÙÅÁÀ¸·Î °ÔÀÓÀ» ¸¸µé¾î°¡¸ç Â÷±ÙÈ÷ ÇнÀÇÒ ¼ö ÀÖ½À´Ï´Ù. °ÔÀÓÀ» ¸¸µç´Ù´Â ¸ñÀûÀÌ ÀÖÀ¸¹Ç·Î ´ç¿¬È÷ ½Ç½ÀÀ» À§ÇÑ ¸¹Àº ¿¹Á¦°¡ Æ÷ÇԵǾî ÀÖÀ¸¸ç, ±× °úÁ¤ Áß µ¶ÀÚ°¡ ±Ã±ÝÇØÇÒ ¸¸ÇÑ ³»¿ëÀ» ¹Ù·Î¹Ù·Î ÇؼÒÇØÁÖ´Â ³»¿ëµµ Ãæ½ÇÇÕ´Ï´Ù. ¹«¾ùº¸´Ù °¢ Àå ³¡¿¡´Â Çϳª ÀÌ»óÀÇ Ã§¸°Áö°¡ Àִµ¥, ÀÌ°ÍÀº µ¶ÀںеéÀÇ È®½ÇÇÑ ÀÌÇظ¦ À§ÇØ ÀÛ¼ºµÈ °ÍÀ¸·Î ÄÚƲ¸°À» ¼÷ÁöÇÏ´Â µ¥ µµ¿òÀÌ µÇµµ·Ï ¹Ýµå½Ã Á÷Á¢ Ç®¾î º¸¸é¼ ÇнÀÇϼ¼¿ä.
¡®ºò ³Êµå ·£Ä¡¡¯ÀÇ Ç³ºÎÇÑ ¼ÒÇÁÆ®¿þ¾î ±³À°°ú °³¹ß ³ëÇÏ¿ì°¡ ´ã±ä ÄÚƲ¸° ¼Àû!
ÄÚƲ¸°Àº °´Ã¼ÁöÇâ»Ó¸¸ ¾Æ´Ï¶ó ÇÔ¼öÇü ÇÁ·Î±×·¡¹Ö Æз¯´ÙÀÓ±îÁö Ç°°í ÀÖ½À´Ï´Ù. ÀÌ ÄÚƲ¸° ¾ð¾î¸¦ ½Ç½À°ú ÇÔ²² È®½ÇÇÏ°Ô ³» °ÍÀ¸·Î ¸¸µé°í ½ÍÀ¸½Ã´Ù¸é ÀÌ Ã¥À» ¼±ÅÃÇϼ¼¿ä.
°¢Á¾ ÄÚƲ¸° ÇнÀ Å°¿öµå¸¦ ¹ÙÅÁÀ¸·Î °ÔÀÓÀ» ¸¸µé¾î°¡¸ç Â÷±ÙÈ÷ ÇнÀÇÒ ¼ö ÀÖ½À´Ï´Ù. °ÔÀÓÀ» ¸¸µç´Ù´Â ¸ñÀûÀÌ ÀÖÀ¸¹Ç·Î ´ç¿¬È÷ ½Ç½ÀÀ» À§ÇÑ ¸¹Àº ¿¹Á¦°¡ Æ÷ÇԵǾî ÀÖÀ¸¸ç, ±× °úÁ¤ Áß µ¶ÀÚ°¡ ±Ã±ÝÇØÇÒ ¸¸ÇÑ ³»¿ëÀ» ¹Ù·Î¹Ù·Î ÇؼÒÇØÁÖ´Â ³»¿ëµµ Ãæ½ÇÇÕ´Ï´Ù. ¹«¾ùº¸´Ù °¢ Àå ³¡¿¡´Â Çϳª ÀÌ»óÀÇ Ã§¸°Áö°¡ Àִµ¥, ÀÌ°ÍÀº µ¶ÀںеéÀÇ È®½ÇÇÑ ÀÌÇظ¦ À§ÇØ ÀÛ¼ºµÈ °ÍÀ¸·Î ÄÚƲ¸°À» ¼÷ÁöÇÏ´Â µ¥ µµ¿òÀÌ µÇµµ·Ï ¹Ýµå½Ã Á÷Á¢ Ç®¾î º¸¸é¼ ÇнÀÇϼ¼¿ä.