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

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

Ã¥¼Ò°³

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

ÄÚÆ²¸°Àº ÀÚ¹Ù¿Í »óÈ£ ¿î¿ëµÇ°í ±¸±Û ¾Èµå·ÎÀ̵堽ýºÅÛ¿¡¼­ ¿Ïº®ÇϰԠÁö¿øµÇµµ·Ï ¼³°èµÈ Á¤Àû Å¸ÀÔ ¾ð¾îÀÌ´Ù. À̠åÀº ºò ³Êµå ·£Ä¡(www.bignerdranch.com)ÀÇ ÄÚÆ²¸° Çٽɠ±³À° °úÁ¤À» ±â¹ÝÀ¸·Î Àú¼úµÇ¾úÀ¸¸ç, ÄÚÆ²¸°ÀÇ Çٽɠ°³³ä°ú API¿¡ ´ëÇÑ ¸íÄèÇÑ ¼³¸í ¹× ½Ç½À ¿¹Á¦¸¦ ÅëÇØ¼­ µ¶ÀÚ ¿©·¯ºÐÀÌ ÁÖ¸ñ¹Þ°í Àִ ÄÚÆ²¸° ¾ð¾î¸¦ È¿À²ÀûÀ¸·Î ¹è¿ì°í »ç¿ëÇÒ ¼ö Àִ ¹æ¹ýÀ» °¡¸£ÃÄ ÁØ´Ù. ¶ÇÇÑ, Á¬ºê·¹ÀÎÁîÀÇ ÀÎÅÚ¸®Á¦ÀÌ(IntelliJ IDEA)¿Í ¾Èµå·ÎÀ̵堽ºÆ©µð¿À¸¦ »ç¿ëÇØ¼­ ÄÚÆ²¸° Äڵ带 ÀÛ¼ºÇϴ °³¹ß È¯°æµµ ¾Ë·Á ÁØ´Ù.

ÀúÀÚ¼Ò°³

ºò ³Êµå ·£Ä¡ÀÇ ¼ÒÇÁÆ®¿þ¾î ¿£Áö´Ï¾îÀÌÀÚ °­»çÀÌ´Ù. ÄíÆÛ À¯´Ï¿Â °úÇп¹¼ú´ëÇÐÀ» Á¹¾÷Çϰí ÀÎÅÍ·¢Æ¼ºê ¾ÆÆ®¸¦ ¸¸µå´Â ÀÏȯÀ¸·Î ¼ÒÇÁÆ®¿þ¾î °³¹ßÀ» ½ÃÀÛÇÏ¿© Áö±Ý±îÁö IT ¾÷°è¿¡ ¸ö´ã°í ÀÖ´Ù. ºò ³Êµå ·£Ä¡¿¡¼­ ÀÚ¹Ù¿Í ¾Èµå·ÎÀ̵å, ÄÚÆ²¸°À» °¡¸£Ä¡°í ÀÖÀ¸¸ç, ÄÄÇ»Å͸¦ »ç¿ëÇÏÁö ¾ÊÀ» ¶§´Â ´Þ¸®±â, ºê¶óÁú À¯¼ú µîÀ» Áñ±ä´Ù.

¸ñÂ÷

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