ÄÁÅÙÃ÷»ó¼¼º¸±â

ºò ³Êµå ·£Ä¡ÀÇ ÄÚƲ¸° ÇÁ·Î±×·¡¹Ö
ºò ³Êµå ·£Ä¡ÀÇ ÄÚƲ¸° ÇÁ·Î±×·¡¹Ö
  • ÀúÀÚÁ¶½Ã ½ºÅ²,µ¥À̺ñµå ±×¸°ÇÛÇÁ °øÀú/½ÉÀçö ¿ª
  • ÃâÆÇ»çÁ¦ÀÌÆà
  • ÃâÆÇÀÏ2020-06-03
  • µî·ÏÀÏ2020-12-21
º¸À¯ 1, ´ëÃâ 0, ¿¹¾à 0, ´©Àû´ëÃâ 5, ´©Àû¿¹¾à 0

Ã¥¼Ò°³

¡®ºò ³Êµå ·£Ä¡¡¯ÀÇ Ç³ºÎÇÑ ¼ÒÇÁÆ®¿þ¾î ±³À°°ú °³¹ß ³ëÇÏ¿ì°¡ ´ã±ä ÄÚƲ¸° ¼­Àû!

ÄÚƲ¸°Àº ÀÚ¹Ù¿Í »óÈ£ ¿î¿ëµÇ°í ±¸±Û ¾Èµå·ÎÀÌµå ½Ã½ºÅÛ¿¡¼­ ¿Ïº®ÇÏ°Ô Áö¿øµÇµµ·Ï ¼³°èµÈ Á¤Àû ŸÀÔ ¾ð¾îÀÌ´Ù. ÀÌ Ã¥Àº ºò ³Êµå ·£Ä¡(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

ÇÑÁÙ ¼­Æò