- ÇöÀç À§Ä¡
- home > ÄÄÇ»ÅÍ¡¤ICT¡¤¾îÇÐ > ÄÄÇ»ÅÍ¡¤IT µµ¼ > ÇÁ·Î±×·¡¹Ö/¾ð¾î > Çٽɸ¸ °ñ¶ó ¹è¿ì´Â ÄÚƲ¸° ÇÁ·Î±×·¡¹Ö[Á¦ÀÌÆà]
ÄÚƲ¸°´Ù¿î °³¹ßÀ» À§ÇÑ ¹®¹ý ¼³¸í°ú ¿¹Á¦!
ÇÙ½ÉÀ» ¤¾îÁÖ´Â ¼³¸í°ú ÀÌÇØÇϱ⠽¬¿î ÄÚµå·Î ¹è¿ì´Â ÄÚƲ¸° ÇнÀ¼!
ÄÚƲ¸°(Kotlin)Àº ¿ÀÇ ¼Ò½º ¼ÒÇÁÆ®¿þ¾î·Î Á¬ºê·¹ÀÎ(JetBrains)¿¡¼ °³¹ßÇÑ ÇÁ·Î±×·¡¹Ö ¾ð¾î´Ù. 2011³âºÎÅÍ °³¹ßÀÌ ½ÃÀ۵Ǿî 2016³â¿¡ 1.0 Á¤½Ä ¹öÀüÀÌ ¹ßÇ¥µÈ ÈÄ ÇöÀçµµ °è¼Ó ÁøÈ ÁßÀ̸ç, ±¸±Û I/O 2017¿¡¼ ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀ̼ÇÀÇ °ø½Ä °³¹ß ¾ð¾î·Î ¹ßÇ¥µÇ¾ú´Ù.
ÄÚƲ¸°À¸·Î ÀÛ¼ºµÈ ¼Ò½º ÄÚµå´Â ÄÚƲ¸° ÄÄÆÄÀÏ·¯¿¡ ÀÇÇØ JVM¿¡¼ ½ÇÇàµÇ´Â ¹ÙÀÌÆ® ÄÚµå·Î »ý¼ºµÇ¹Ç·Î ÀÚ¹Ù¿Í 100% ȣȯµÈ´Ù. ¶ÇÇÑ, ÄÄÇ»ÅÍ ¿î¿µÃ¼Á¦ÀÇ JVM¿¡¼ µ¶ÀÚÀûÀ¸·Î ½ÇÇàµÇ´Â ³×ÀÌƼºê ¾ÖÇø®ÄÉÀ̼Ç, À¥ºê¶ó¿ìÀú¿¡¼ ½ÇÇàµÇ´Â ÀÚ¹Ù½ºÅ©¸³Æ®, ¼¹ö¿¡¼ ½ÇÇàµÇ´Â Http ¼ºí¸´, ±¸±Û ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀ̼ÇÀ» ÄÚƲ¸°À¸·Î °³¹ßÇÒ ¼ö ÀÖ´Ù. ÀÌ¿Í ´õºÒ¾î ÄÚƲ¸°Àº »õ·Î¿î ¾ð¾î´ä°Ô ¿©·¯ ÀåÁ¡À» °®°í Àִµ¥, ƯÈ÷ °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö°ú ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÇ ÀåÁ¡À» Àý¹¦ÇÏ°Ô Á¶È½ÃÄÑ °£°áÇϸ鼵µ °·ÂÇÑ Äڵ带 ½±°Ô ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù.
ÀÌ Ã¥Àº ÄÚƲ¸° ±âº» ¹®¹ý¿¡ Ãæ½ÇÇÑ ¼³¸í°ú ¿¹Á¦·Î ±¸¼ºµÇ¾úÀ¸¸ç, À̸¦ ÅëÇØ ÄÚƲ¸° ¾ð¾îÀÇ ÇÙ½ÉÀ» Àϸñ¿ä¿¬ÇÏ°í ±íÀÌ ÀÖ°Ô ÆľÇÇÒ ¼ö ÀÖ´Ù. µû¶ó¼ ÄÚƲ¸°À» Á¦´ë·Î ¹è¿ì°íÀÚ ÇÏ´Â »ç¶÷µé, ƯÈ÷ ÀÚ¹Ù¸¦ ºñ·ÔÇØ ´Ù¸¥ ÇÁ·Î±×·¡¹Ö ¾ð¾î °³¹ß °æÇèÀÌ ÀÖ´Â »ç¶÷µéÀÌ ºü¸¥ ½Ã°£ ³»¿¡ ÄÚƲ¸°À» ÆľÇÇÏ´Â µ¥ Å« µµ¿òÀÌ µÉ °ÍÀÌ´Ù.
?
ÇÙ½ÉÀ» ¤¾îÁÖ´Â ¼³¸í°ú ÀÌÇØÇϱ⠽¬¿î ÄÚµå·Î ¹è¿ì´Â ÄÚƲ¸° ÇнÀ¼!
ÄÚƲ¸°(Kotlin)Àº ¿ÀÇ ¼Ò½º ¼ÒÇÁÆ®¿þ¾î·Î Á¬ºê·¹ÀÎ(JetBrains)¿¡¼ °³¹ßÇÑ ÇÁ·Î±×·¡¹Ö ¾ð¾î´Ù. 2011³âºÎÅÍ °³¹ßÀÌ ½ÃÀ۵Ǿî 2016³â¿¡ 1.0 Á¤½Ä ¹öÀüÀÌ ¹ßÇ¥µÈ ÈÄ ÇöÀçµµ °è¼Ó ÁøÈ ÁßÀ̸ç, ±¸±Û I/O 2017¿¡¼ ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀ̼ÇÀÇ °ø½Ä °³¹ß ¾ð¾î·Î ¹ßÇ¥µÇ¾ú´Ù.
ÄÚƲ¸°À¸·Î ÀÛ¼ºµÈ ¼Ò½º ÄÚµå´Â ÄÚƲ¸° ÄÄÆÄÀÏ·¯¿¡ ÀÇÇØ JVM¿¡¼ ½ÇÇàµÇ´Â ¹ÙÀÌÆ® ÄÚµå·Î »ý¼ºµÇ¹Ç·Î ÀÚ¹Ù¿Í 100% ȣȯµÈ´Ù. ¶ÇÇÑ, ÄÄÇ»ÅÍ ¿î¿µÃ¼Á¦ÀÇ JVM¿¡¼ µ¶ÀÚÀûÀ¸·Î ½ÇÇàµÇ´Â ³×ÀÌƼºê ¾ÖÇø®ÄÉÀ̼Ç, À¥ºê¶ó¿ìÀú¿¡¼ ½ÇÇàµÇ´Â ÀÚ¹Ù½ºÅ©¸³Æ®, ¼¹ö¿¡¼ ½ÇÇàµÇ´Â Http ¼ºí¸´, ±¸±Û ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀ̼ÇÀ» ÄÚƲ¸°À¸·Î °³¹ßÇÒ ¼ö ÀÖ´Ù. ÀÌ¿Í ´õºÒ¾î ÄÚƲ¸°Àº »õ·Î¿î ¾ð¾î´ä°Ô ¿©·¯ ÀåÁ¡À» °®°í Àִµ¥, ƯÈ÷ °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö°ú ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÇ ÀåÁ¡À» Àý¹¦ÇÏ°Ô Á¶È½ÃÄÑ °£°áÇϸ鼵µ °·ÂÇÑ Äڵ带 ½±°Ô ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù.
ÀÌ Ã¥Àº ÄÚƲ¸° ±âº» ¹®¹ý¿¡ Ãæ½ÇÇÑ ¼³¸í°ú ¿¹Á¦·Î ±¸¼ºµÇ¾úÀ¸¸ç, À̸¦ ÅëÇØ ÄÚƲ¸° ¾ð¾îÀÇ ÇÙ½ÉÀ» Àϸñ¿ä¿¬ÇÏ°í ±íÀÌ ÀÖ°Ô ÆľÇÇÒ ¼ö ÀÖ´Ù. µû¶ó¼ ÄÚƲ¸°À» Á¦´ë·Î ¹è¿ì°íÀÚ ÇÏ´Â »ç¶÷µé, ƯÈ÷ ÀÚ¹Ù¸¦ ºñ·ÔÇØ ´Ù¸¥ ÇÁ·Î±×·¡¹Ö ¾ð¾î °³¹ß °æÇèÀÌ ÀÖ´Â »ç¶÷µéÀÌ ºü¸¥ ½Ã°£ ³»¿¡ ÄÚƲ¸°À» ÆľÇÇÏ´Â µ¥ Å« µµ¿òÀÌ µÉ °ÍÀÌ´Ù.
?
ÀúÀÚ: ½ÉÀçö (ÁöÀºÀÌ)
1Àå ÄÚƲ¸° °³¿ä_1
1.1 ÄÚƲ¸° ¾ð¾î °³¿ä 1
1.2 ÄÚƲ¸°ÀÇ Æ¯Â¡ 2
1.3 ÄÚƲ¸° ¾ÆÅ°ÅØó 3
1.4 ¿ä¾à 4
2Àå ÄÚƲ¸° °³¹ß ȯ°æ ±¸ÃàÇϱâ_5
2.1 JDK ¼³Ä¡Çϱâ 5
2.1.1 À©µµ¿ì¿¡¼ ¼³Ä¡Çϱâ 5
2.1.2 ¸Æ OS¿¡¼ ¼³Ä¡Çϱâ 7
2.2 ÄÚƲ¸° ÄÄÆÄÀÏ·¯ ¼³Ä¡Çϱâ 8
2.3 ÄÚƲ¸° ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß IDE ¼³Ä¡Çϱâ 9
2.3.1 ÀÌŬ¸³½º ¼³Ä¡¿Í ±¸¼ºÇϱâ 10
2.3.2 IntelliJ IDEA ¼³Ä¡¿Í ±¸¼ºÇϱâ 14
2.3.3 Visual Studio Code ¼³Ä¡¿Í ±¸¼ºÇϱâ 20
2.4 »ç¿ëÇÒ IDE ¼±ÅÃÇϱâ 29
2.5 ¿ä¾à 30
3Àå ¡°¾È³çÇϼ¼¿ä?¡± ÄÚƲ¸°_31
3.1 ¸í·ÉÇà¿¡¼ ¾ÖÇø®ÄÉÀÌ¼Ç ÀÛ¼º°ú ½ÇÇàÇϱâ 31
3.1.1 óÀ½ ¸¸³ª´Â ÄÚƲ¸° 31
3.1.2 ÄÚƲ¸° ¾ÖÇø®ÄÉÀÌ¼Ç ºôµå ÀýÂ÷ 33
3.1.3 ÄÚƲ¸° REPL »ç¿ëÇϱâ 34
3.2 ÀÌŬ¸³½º·Î ¾ÖÇø®ÄÉÀÌ¼Ç ÀÛ¼º°ú ½ÇÇàÇϱâ 35
3.3 IntelliJ IDEA·Î ¾ÖÇø®ÄÉÀÌ¼Ç ÀÛ¼º°ú ½ÇÇàÇϱâ 38
3.4 Visual Studio Code·Î ¾ÖÇø®ÄÉÀÌ¼Ç ÀÛ¼º°ú ½ÇÇàÇϱâ 40
3.5 ÄÚƲ¸° °ø½Ä »çÀÌÆ®ÀÇ TRY ONLINE »ç¿ëÇϱâ 42
3.6 ¿ä¾à 43
4Àå ±âº» ±¸¼º ¿ä¼Ò¿Í ¹®¹ý_44
4.1 ÄÚƲ¸° ÇÁ·Î±×·¥ ±¸Á¶ 44
4.2 ÆÐÅ°Áö 47
4.2.1 ÆÐÅ°Áö ÁöÁ¤Çϱâ 47
4.2.2 ´Ù¸¥ ÆÐÅ°ÁöÀÇ ÄÚµå »ç¿ëÇϱâ 48
4.2.3 import º°Äª »ç¿ëÇϱâ 48
4.3 ÄÚƲ¸° º¯¼ö 49
4.4 ÄÚƲ¸°ÀÇ Å¸ÀÔ 50
4.4.1 ±âº» ŸÀÔ 50
4.4.2 ¹®ÀÚ¿ ŸÀÔ 52
4.4.3 ±âº» ŸÀÔÀÇ ¸®ÅÍ·² 54
4.4.4 ¹®ÀÚ¿ ¸®ÅÍ·² 54
4.4.5 ¹è¿ 56
4.4.6 ´ÙÂ÷¿ø ¹è¿ 59
4.4.7 ŸÀÔ Ãß·Ð 62
4.5 ¿¬»êÀÚ¿Í ¿¬»êÀÚ ¿À¹ö·Îµù 64
4.5.1 »ê¼ú ¿¬»êÀÚ 64
4.5.2 ´ÜÇ× ¿¬»êÀÚ 67
4.5.3 º¹ÇÕ ´ëÀÔ ¿¬»êÀÚ 68
4.5.4 ºñÆ® ¿¬»êÀÚ 69
4.5.5 ³í¸® ¿¬»êÀÚ 70
4.5.6 µ¿µî ºñ±³ ¿¬»êÀÚ 71
4.5.7 ±× ¹ÛÀÇ ºñ±³ ¿¬»êÀÚ 72
4.5.8 in ¿¬»êÀÚ 74
4.5.9 ¹üÀ§ ¿¬»êÀÚ 75
4.5.10 À妽º ¿¬»êÀÚ 76
4.5.11 Invoke ¿¬»êÀÚ 77
4.5.12 ŸÀÔ È®ÀÎ ¿¬»êÀÚ: is, !is 78
4.6 ÄÚµå ½ÇÇà Á¦¾î 79
4.6.1 if Ç¥Çö½Ä 79
4.6.2 when Ç¥Çö½Ä 81
4.6.3 for ·çÇÁ 84
4.6.4 while°ú do-while ·çÇÁ 86
4.6.5 break¿Í continue 86
4.7 ¿ä¾à 88
5Àå Null ó¸® ¸ÞÄ¿´ÏÁò_90
5.1 Null °¡´É ŸÀÔ 90
5.2 Null ó¸® ¿¬»êÀÚ 93
5.2.1 ¡° ?.¡± 93
5.2.2 ¡° ?:¡± 94
5.2.3 ¡° !!¡± 95
5.2.4 as, as? 96
5.3 let ÇÔ¼ö 97
5.4 ½º¸¶Æ® ij½ºÆ® 100
5.5 Ç÷§Æû ŸÀÔ 102
5.6 ¿ä¾à 105
6Àå ÇÔ¼ö_106
6.1 ÇÔ¼ö ¼±¾ð°ú È£Ãâ 106
6.2 °¡º¯ ÀÎÀÚ 109
6.3 ÃÖ»óÀ§ ¼öÁØ ÇÔ¼ö¿Í ¼Ó¼º 111
6.4 ¸â¹ö ÇÔ¼ö 114
6.5 Áö¿ª ÇÔ¼ö 115
6.6 Á¦³×¸¯ ÇÔ¼ö 116
6.7 È®Àå ÇÔ¼ö 118
6.8 ÁßÀ§ ÇÔ¼ö 119
6.9 ²¿¸®Çü Àç±Í ÇÔ¼ö 121
6.10 ¿ä¾à 123
7Àå Ŭ·¡½º¿Í °´Ã¼_124
7.1 Ŭ·¡½º ¼±¾ð°ú »ý¼ºÀÚ 124
7.1.1 ±âº» »ý¼ºÀÚ 125
7.1.2 º¸Á¶ »ý¼ºÀÚ 127
7.2 ¼Ó¼º°ú °ÔÅÍ/¼¼ÅÍ 129
7.2.1 ¼Ó¼º°ú ÇʵåÀÇ Â÷ÀÌÁ¡ 129
7.2.2 °ÔÅÍ¿Í ¼¼ÅÍ 130
7.2.3 ¿ì¸®ÀÇ °ÔÅÍ¿Í ¼¼Å͸¦ Á¤ÀÇÇÏ°í »ç¿ëÇϱâ 134
7.2.4 ÈÄ¿ø Çʵå 136
7.2.5 Áö¿¬ ÃʱâÈ ¼Ó¼º 141
7.3 ¸â¹ö ÇÔ¼ö 142
7.4 °¡½Ã¼º Á¦ÇÑÀÚ¿Í Á¢±Ù Á¦ÇÑÀÚ 143
7.5 Ŭ·¡½º »ó¼Ó°ú ¸â¹ö ¿À¹ö¶óÀ̵ù 146
7.5.1 ±âº» »ý¼ºÀÚ¸¦ »ç¿ëÇÑ »ó¼Ó Á¤ÀÇ 147
7.5.2 º¸Á¶ »ý¼ºÀÚ¸¦ »ç¿ëÇÑ »ó¼Ó Á¤ÀÇ 149
7.5.3 ¸â¹ö ÇÔ¼ö ¿À¹ö¶óÀ̵ù 151
7.6 ÀÎÅÍÆäÀ̽º ±¸Çö°ú ¿À¹ö¶óÀ̵ù 153
7.7 Ãß»ó Ŭ·¡½º¿Í ¿À¹ö¶óÀ̵ù 156
7.8 object Å°¿öµå 157
7.8.1 °´Ã¼ ¼±¾ð 158
7.8.2 µ¿¹Ý °´Ã¼ 160
7.8.3 °´Ã¼ Ç¥Çö½Ä 162
7.9 Áßø Ŭ·¡½º¿Í ³»ºÎ Ŭ·¡½º 163
7.10 µ¥ÀÌÅÍ Å¬·¡½º 165
7.11 Ŭ·¡½º À§ÀÓ 168
7.12 enum Ŭ·¡½º 172
7.13 sealed Ŭ·¡½º 175
7.14 ¿ä¾à 176
8Àå ¶÷´Ù½Ä_177
8.1 ¶÷´Ù½Ä ÄÚµå »ìÆ캸±â 178
8.2 ÇÔ¼ö ŸÀÔ 184
8.3 ¶÷´Ù½Ä ÀÌÇØÇϱâ 188
8.3.1 ¶÷´Ù½Ä Çü½Ä 188
8.3.2 ¶÷´Ù½Ä ÀÛ¼º ½Ã À¯ÀÇ »çÇ× 190
8.3.3 ¶÷´Ù½Ä°ú return 191
8.3.4 ¶÷´Ù½Ä¿¡¼ it Å°¿öµå »ç¿ëÇϱâ 194
8.3.5 ¶÷´Ù½Ä°ú Ŭ·ÎÀú 195
8.3.6 ¶÷´Ù½Ä È°¿ë »ç·Ê 197
8.3.7 Ŭ·¡½º ¸â¹ö¿Í ÃÖ»óÀ§ ÇÔ¼ö ÂüÁ¶ 199
8.4 À͸í ÇÔ¼ö 202
8.5 °íÂ÷ ÇÔ¼ö 203
8.6 ÀζóÀÎ ÇÔ¼ö 205
8.7 ¿ä¾à 207
9Àå ¿¹¿Ü_208
9.1 ¿¹¿Ü Ŭ·¡½º¿Í »ý¼ºÀÚ 209
9.2 ¿¹¿Ü Ŭ·¡½ºÀÇ »ó¼Ó ±¸Á¶ 209
9.3 ¿¹¿Ü ó¸®Çϱâ 212
9.4 try~catch¿Í throw´Â Ç¥Çö½ÄÀÌ´Ù 215
9.5 »ç¿ëÀÚ ¿¹¿Ü¸¦ Á¤ÀÇÇÏ°í »ç¿ëÇϱâ 216
9.6 Checked¿Í Unchecked ¿¹¿Ü 221
9.7 ¿ä¾à 222
10Àå Ä÷º¼Ç_223
10.1 Ä÷º¼Ç °³¿ä 224
10.2 ÄÚƲ¸°ÀÇ Ä÷º¼Ç ÀÎÅÍÆäÀ̽º¿Í Ŭ·¡½º 224
10.3 Ä÷º¼Ç »ý¼ºÇϱâ 231
10.4 ½ÇÁ¦ »ç¿ëµÇ´Â Ä÷º¼Ç Ŭ·¡½º ¾Ë¾Æº¸±â 238
10.5 Àбâ Àü¿ë Ä÷º¼Ç »ç¿ë ½Ã ÁÖÀÇ»çÇ× 241
10.6 Iterable ÀÎÅÍÆäÀ̽º 244
10.7 List¿Í MutableList 248
10.7.1 °³¿ä 248
10.7.2 List¿Í MutableList »ç¿ëÇϱâ 249
10.7.3 IndexedValue Ŭ·¡½º 258
10.7.4 ¿¬¼Ó ¹üÀ§°ªÀ» Ä÷º¼Çó·³ ó¸®Çϱâ 262
10.8 Set°ú MutableSet 264
10.8.1 °³¿ä 264
10.8.2 Set°ú MutableSet »ç¿ëÇϱâ 265
10.9 Map°ú MutableMap 267
10.9.1 °³¿ä 267
10.9.2 Map°ú MutableMap »ç¿ëÇϱâ 268
10.10 Ä÷º¼Ç ¼±ÅÃÇϱâ 273
10.11 ½ÃÄö½º¿Í ½ºÆ®¸² 275
10.11.1 ½ÃÄö½º¿Í ½ºÆ®¸² °³¿ä 275
10.11.2 ½ÃÄö½º/½ºÆ®¸²°ú Ä÷º¼Ç 276
10.11.3 ½ÃÄö½º »ý¼ºÇϱâ 281
10.12 ¿ä¾à 283
11Àå Á¦³×¸¯_285
11.1 °´Ã¼ÀÇ Å¸ÀÔ 285
11.1.1 ½´ÆÛ Å¸ÀÔ°ú ¼ºê ŸÀÔ 285
11.1.2 ¿ø½Ã ŸÀÔ°ú Á¦³×¸¯ ŸÀÔ 287
11.2 ŸÀÔ ¸Å°³º¯¼ö¿Í ŸÀÔ ÀÎÀÚ 289
11.2.1 ÇÔ¼ö¿¡ ŸÀÔ ¸Å°³º¯¼ö »ç¿ëÇϱâ 289
11.2.2 Ŭ·¡½º¿Í ÀÎÅÍÆäÀ̽º¿¡ ŸÀÔ ¸Å°³º¯¼ö »ç¿ëÇϱâ 290
11.2.3 ŸÀÔ ¸Å°³º¯¼öÀÇ Ç¥ÁØ ¸íĪ 291
11.3 ŸÀÔ ¸Å°³º¯¼ö Á¦ÇÑÇϱâ 292
11.4 ŸÀÔ ¼Ò°Å 294
11.5 ŸÀÔ ¸Å°³º¯¼ö ½ÇÃ¼È 296
11.6 Á¦³×¸¯ ŸÀÔÀÇ º¯Çü 297
11.6.1 °³¿ä 297
11.6.2 ºÒº¯Çü 300
11.6.3 °øº¯Çü°ú ¹Ý°øº¯Çü 301
11.6.4 »ç¿ë ÁöÁ¡ º¯Çü°ú ¼±¾ð ÁöÁ¡ º¯Çü 303
11.6.5 ½ºÅ¸ ÇÁ·ÎÁ§¼Ç 304
11.7 ¿ä¾à 306
ã¾Æº¸±â 308
1.1 ÄÚƲ¸° ¾ð¾î °³¿ä 1
1.2 ÄÚƲ¸°ÀÇ Æ¯Â¡ 2
1.3 ÄÚƲ¸° ¾ÆÅ°ÅØó 3
1.4 ¿ä¾à 4
2Àå ÄÚƲ¸° °³¹ß ȯ°æ ±¸ÃàÇϱâ_5
2.1 JDK ¼³Ä¡Çϱâ 5
2.1.1 À©µµ¿ì¿¡¼ ¼³Ä¡Çϱâ 5
2.1.2 ¸Æ OS¿¡¼ ¼³Ä¡Çϱâ 7
2.2 ÄÚƲ¸° ÄÄÆÄÀÏ·¯ ¼³Ä¡Çϱâ 8
2.3 ÄÚƲ¸° ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß IDE ¼³Ä¡Çϱâ 9
2.3.1 ÀÌŬ¸³½º ¼³Ä¡¿Í ±¸¼ºÇϱâ 10
2.3.2 IntelliJ IDEA ¼³Ä¡¿Í ±¸¼ºÇϱâ 14
2.3.3 Visual Studio Code ¼³Ä¡¿Í ±¸¼ºÇϱâ 20
2.4 »ç¿ëÇÒ IDE ¼±ÅÃÇϱâ 29
2.5 ¿ä¾à 30
3Àå ¡°¾È³çÇϼ¼¿ä?¡± ÄÚƲ¸°_31
3.1 ¸í·ÉÇà¿¡¼ ¾ÖÇø®ÄÉÀÌ¼Ç ÀÛ¼º°ú ½ÇÇàÇϱâ 31
3.1.1 óÀ½ ¸¸³ª´Â ÄÚƲ¸° 31
3.1.2 ÄÚƲ¸° ¾ÖÇø®ÄÉÀÌ¼Ç ºôµå ÀýÂ÷ 33
3.1.3 ÄÚƲ¸° REPL »ç¿ëÇϱâ 34
3.2 ÀÌŬ¸³½º·Î ¾ÖÇø®ÄÉÀÌ¼Ç ÀÛ¼º°ú ½ÇÇàÇϱâ 35
3.3 IntelliJ IDEA·Î ¾ÖÇø®ÄÉÀÌ¼Ç ÀÛ¼º°ú ½ÇÇàÇϱâ 38
3.4 Visual Studio Code·Î ¾ÖÇø®ÄÉÀÌ¼Ç ÀÛ¼º°ú ½ÇÇàÇϱâ 40
3.5 ÄÚƲ¸° °ø½Ä »çÀÌÆ®ÀÇ TRY ONLINE »ç¿ëÇϱâ 42
3.6 ¿ä¾à 43
4Àå ±âº» ±¸¼º ¿ä¼Ò¿Í ¹®¹ý_44
4.1 ÄÚƲ¸° ÇÁ·Î±×·¥ ±¸Á¶ 44
4.2 ÆÐÅ°Áö 47
4.2.1 ÆÐÅ°Áö ÁöÁ¤Çϱâ 47
4.2.2 ´Ù¸¥ ÆÐÅ°ÁöÀÇ ÄÚµå »ç¿ëÇϱâ 48
4.2.3 import º°Äª »ç¿ëÇϱâ 48
4.3 ÄÚƲ¸° º¯¼ö 49
4.4 ÄÚƲ¸°ÀÇ Å¸ÀÔ 50
4.4.1 ±âº» ŸÀÔ 50
4.4.2 ¹®ÀÚ¿ ŸÀÔ 52
4.4.3 ±âº» ŸÀÔÀÇ ¸®ÅÍ·² 54
4.4.4 ¹®ÀÚ¿ ¸®ÅÍ·² 54
4.4.5 ¹è¿ 56
4.4.6 ´ÙÂ÷¿ø ¹è¿ 59
4.4.7 ŸÀÔ Ãß·Ð 62
4.5 ¿¬»êÀÚ¿Í ¿¬»êÀÚ ¿À¹ö·Îµù 64
4.5.1 »ê¼ú ¿¬»êÀÚ 64
4.5.2 ´ÜÇ× ¿¬»êÀÚ 67
4.5.3 º¹ÇÕ ´ëÀÔ ¿¬»êÀÚ 68
4.5.4 ºñÆ® ¿¬»êÀÚ 69
4.5.5 ³í¸® ¿¬»êÀÚ 70
4.5.6 µ¿µî ºñ±³ ¿¬»êÀÚ 71
4.5.7 ±× ¹ÛÀÇ ºñ±³ ¿¬»êÀÚ 72
4.5.8 in ¿¬»êÀÚ 74
4.5.9 ¹üÀ§ ¿¬»êÀÚ 75
4.5.10 À妽º ¿¬»êÀÚ 76
4.5.11 Invoke ¿¬»êÀÚ 77
4.5.12 ŸÀÔ È®ÀÎ ¿¬»êÀÚ: is, !is 78
4.6 ÄÚµå ½ÇÇà Á¦¾î 79
4.6.1 if Ç¥Çö½Ä 79
4.6.2 when Ç¥Çö½Ä 81
4.6.3 for ·çÇÁ 84
4.6.4 while°ú do-while ·çÇÁ 86
4.6.5 break¿Í continue 86
4.7 ¿ä¾à 88
5Àå Null ó¸® ¸ÞÄ¿´ÏÁò_90
5.1 Null °¡´É ŸÀÔ 90
5.2 Null ó¸® ¿¬»êÀÚ 93
5.2.1 ¡° ?.¡± 93
5.2.2 ¡° ?:¡± 94
5.2.3 ¡° !!¡± 95
5.2.4 as, as? 96
5.3 let ÇÔ¼ö 97
5.4 ½º¸¶Æ® ij½ºÆ® 100
5.5 Ç÷§Æû ŸÀÔ 102
5.6 ¿ä¾à 105
6Àå ÇÔ¼ö_106
6.1 ÇÔ¼ö ¼±¾ð°ú È£Ãâ 106
6.2 °¡º¯ ÀÎÀÚ 109
6.3 ÃÖ»óÀ§ ¼öÁØ ÇÔ¼ö¿Í ¼Ó¼º 111
6.4 ¸â¹ö ÇÔ¼ö 114
6.5 Áö¿ª ÇÔ¼ö 115
6.6 Á¦³×¸¯ ÇÔ¼ö 116
6.7 È®Àå ÇÔ¼ö 118
6.8 ÁßÀ§ ÇÔ¼ö 119
6.9 ²¿¸®Çü Àç±Í ÇÔ¼ö 121
6.10 ¿ä¾à 123
7Àå Ŭ·¡½º¿Í °´Ã¼_124
7.1 Ŭ·¡½º ¼±¾ð°ú »ý¼ºÀÚ 124
7.1.1 ±âº» »ý¼ºÀÚ 125
7.1.2 º¸Á¶ »ý¼ºÀÚ 127
7.2 ¼Ó¼º°ú °ÔÅÍ/¼¼ÅÍ 129
7.2.1 ¼Ó¼º°ú ÇʵåÀÇ Â÷ÀÌÁ¡ 129
7.2.2 °ÔÅÍ¿Í ¼¼ÅÍ 130
7.2.3 ¿ì¸®ÀÇ °ÔÅÍ¿Í ¼¼Å͸¦ Á¤ÀÇÇÏ°í »ç¿ëÇϱâ 134
7.2.4 ÈÄ¿ø Çʵå 136
7.2.5 Áö¿¬ ÃʱâÈ ¼Ó¼º 141
7.3 ¸â¹ö ÇÔ¼ö 142
7.4 °¡½Ã¼º Á¦ÇÑÀÚ¿Í Á¢±Ù Á¦ÇÑÀÚ 143
7.5 Ŭ·¡½º »ó¼Ó°ú ¸â¹ö ¿À¹ö¶óÀ̵ù 146
7.5.1 ±âº» »ý¼ºÀÚ¸¦ »ç¿ëÇÑ »ó¼Ó Á¤ÀÇ 147
7.5.2 º¸Á¶ »ý¼ºÀÚ¸¦ »ç¿ëÇÑ »ó¼Ó Á¤ÀÇ 149
7.5.3 ¸â¹ö ÇÔ¼ö ¿À¹ö¶óÀ̵ù 151
7.6 ÀÎÅÍÆäÀ̽º ±¸Çö°ú ¿À¹ö¶óÀ̵ù 153
7.7 Ãß»ó Ŭ·¡½º¿Í ¿À¹ö¶óÀ̵ù 156
7.8 object Å°¿öµå 157
7.8.1 °´Ã¼ ¼±¾ð 158
7.8.2 µ¿¹Ý °´Ã¼ 160
7.8.3 °´Ã¼ Ç¥Çö½Ä 162
7.9 Áßø Ŭ·¡½º¿Í ³»ºÎ Ŭ·¡½º 163
7.10 µ¥ÀÌÅÍ Å¬·¡½º 165
7.11 Ŭ·¡½º À§ÀÓ 168
7.12 enum Ŭ·¡½º 172
7.13 sealed Ŭ·¡½º 175
7.14 ¿ä¾à 176
8Àå ¶÷´Ù½Ä_177
8.1 ¶÷´Ù½Ä ÄÚµå »ìÆ캸±â 178
8.2 ÇÔ¼ö ŸÀÔ 184
8.3 ¶÷´Ù½Ä ÀÌÇØÇϱâ 188
8.3.1 ¶÷´Ù½Ä Çü½Ä 188
8.3.2 ¶÷´Ù½Ä ÀÛ¼º ½Ã À¯ÀÇ »çÇ× 190
8.3.3 ¶÷´Ù½Ä°ú return 191
8.3.4 ¶÷´Ù½Ä¿¡¼ it Å°¿öµå »ç¿ëÇϱâ 194
8.3.5 ¶÷´Ù½Ä°ú Ŭ·ÎÀú 195
8.3.6 ¶÷´Ù½Ä È°¿ë »ç·Ê 197
8.3.7 Ŭ·¡½º ¸â¹ö¿Í ÃÖ»óÀ§ ÇÔ¼ö ÂüÁ¶ 199
8.4 À͸í ÇÔ¼ö 202
8.5 °íÂ÷ ÇÔ¼ö 203
8.6 ÀζóÀÎ ÇÔ¼ö 205
8.7 ¿ä¾à 207
9Àå ¿¹¿Ü_208
9.1 ¿¹¿Ü Ŭ·¡½º¿Í »ý¼ºÀÚ 209
9.2 ¿¹¿Ü Ŭ·¡½ºÀÇ »ó¼Ó ±¸Á¶ 209
9.3 ¿¹¿Ü ó¸®Çϱâ 212
9.4 try~catch¿Í throw´Â Ç¥Çö½ÄÀÌ´Ù 215
9.5 »ç¿ëÀÚ ¿¹¿Ü¸¦ Á¤ÀÇÇÏ°í »ç¿ëÇϱâ 216
9.6 Checked¿Í Unchecked ¿¹¿Ü 221
9.7 ¿ä¾à 222
10Àå Ä÷º¼Ç_223
10.1 Ä÷º¼Ç °³¿ä 224
10.2 ÄÚƲ¸°ÀÇ Ä÷º¼Ç ÀÎÅÍÆäÀ̽º¿Í Ŭ·¡½º 224
10.3 Ä÷º¼Ç »ý¼ºÇϱâ 231
10.4 ½ÇÁ¦ »ç¿ëµÇ´Â Ä÷º¼Ç Ŭ·¡½º ¾Ë¾Æº¸±â 238
10.5 Àбâ Àü¿ë Ä÷º¼Ç »ç¿ë ½Ã ÁÖÀÇ»çÇ× 241
10.6 Iterable ÀÎÅÍÆäÀ̽º 244
10.7 List¿Í MutableList 248
10.7.1 °³¿ä 248
10.7.2 List¿Í MutableList »ç¿ëÇϱâ 249
10.7.3 IndexedValue Ŭ·¡½º 258
10.7.4 ¿¬¼Ó ¹üÀ§°ªÀ» Ä÷º¼Çó·³ ó¸®Çϱâ 262
10.8 Set°ú MutableSet 264
10.8.1 °³¿ä 264
10.8.2 Set°ú MutableSet »ç¿ëÇϱâ 265
10.9 Map°ú MutableMap 267
10.9.1 °³¿ä 267
10.9.2 Map°ú MutableMap »ç¿ëÇϱâ 268
10.10 Ä÷º¼Ç ¼±ÅÃÇϱâ 273
10.11 ½ÃÄö½º¿Í ½ºÆ®¸² 275
10.11.1 ½ÃÄö½º¿Í ½ºÆ®¸² °³¿ä 275
10.11.2 ½ÃÄö½º/½ºÆ®¸²°ú Ä÷º¼Ç 276
10.11.3 ½ÃÄö½º »ý¼ºÇϱâ 281
10.12 ¿ä¾à 283
11Àå Á¦³×¸¯_285
11.1 °´Ã¼ÀÇ Å¸ÀÔ 285
11.1.1 ½´ÆÛ Å¸ÀÔ°ú ¼ºê ŸÀÔ 285
11.1.2 ¿ø½Ã ŸÀÔ°ú Á¦³×¸¯ ŸÀÔ 287
11.2 ŸÀÔ ¸Å°³º¯¼ö¿Í ŸÀÔ ÀÎÀÚ 289
11.2.1 ÇÔ¼ö¿¡ ŸÀÔ ¸Å°³º¯¼ö »ç¿ëÇϱâ 289
11.2.2 Ŭ·¡½º¿Í ÀÎÅÍÆäÀ̽º¿¡ ŸÀÔ ¸Å°³º¯¼ö »ç¿ëÇϱâ 290
11.2.3 ŸÀÔ ¸Å°³º¯¼öÀÇ Ç¥ÁØ ¸íĪ 291
11.3 ŸÀÔ ¸Å°³º¯¼ö Á¦ÇÑÇϱâ 292
11.4 ŸÀÔ ¼Ò°Å 294
11.5 ŸÀÔ ¸Å°³º¯¼ö ½ÇÃ¼È 296
11.6 Á¦³×¸¯ ŸÀÔÀÇ º¯Çü 297
11.6.1 °³¿ä 297
11.6.2 ºÒº¯Çü 300
11.6.3 °øº¯Çü°ú ¹Ý°øº¯Çü 301
11.6.4 »ç¿ë ÁöÁ¡ º¯Çü°ú ¼±¾ð ÁöÁ¡ º¯Çü 303
11.6.5 ½ºÅ¸ ÇÁ·ÎÁ§¼Ç 304
11.7 ¿ä¾à 306
ã¾Æº¸±â 308
ÄÚƲ¸°´Ù¿î °³¹ßÀ» À§ÇÑ ¹®¹ý ¼³¸í°ú ¿¹Á¦!
ÇÙ½ÉÀ» ¤¾îÁÖ´Â ¼³¸í°ú ÀÌÇØÇϱ⠽¬¿î ÄÚµå·Î ¹è¿ì´Â ÄÚƲ¸° ÇнÀ¼!
ÄÚƲ¸°(Kotlin)Àº ¿ÀÇ ¼Ò½º ¼ÒÇÁÆ®¿þ¾î·Î Á¬ºê·¹ÀÎ(JetBrains)¿¡¼ °³¹ßÇÑ ÇÁ·Î±×·¡¹Ö ¾ð¾î´Ù. 2011³âºÎÅÍ °³¹ßÀÌ ½ÃÀ۵Ǿî 2016³â¿¡ 1.0 Á¤½Ä ¹öÀüÀÌ ¹ßÇ¥µÈ ÈÄ ÇöÀçµµ °è¼Ó ÁøÈ ÁßÀ̸ç, ±¸±Û I/O 2017¿¡¼ ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀ̼ÇÀÇ °ø½Ä °³¹ß ¾ð¾î·Î ¹ßÇ¥µÇ¾ú´Ù.
ÄÚƲ¸°À¸·Î ÀÛ¼ºµÈ ¼Ò½º ÄÚµå´Â ÄÚƲ¸° ÄÄÆÄÀÏ·¯¿¡ ÀÇÇØ JVM¿¡¼ ½ÇÇàµÇ´Â ¹ÙÀÌÆ® ÄÚµå·Î »ý¼ºµÇ¹Ç·Î ÀÚ¹Ù¿Í 100% ȣȯµÈ´Ù. ¶ÇÇÑ, ÄÄÇ»ÅÍ ¿î¿µÃ¼Á¦ÀÇ JVM¿¡¼ µ¶ÀÚÀûÀ¸·Î ½ÇÇàµÇ´Â ³×ÀÌƼºê ¾ÖÇø®ÄÉÀ̼Ç, À¥ºê¶ó¿ìÀú¿¡¼ ½ÇÇàµÇ´Â ÀÚ¹Ù½ºÅ©¸³Æ®, ¼¹ö¿¡¼ ½ÇÇàµÇ´Â Http ¼ºí¸´, ±¸±Û ¾Èµå·ÎÀÌµå ¾ÖÇø®ÄÉÀ̼ÇÀ» ÄÚƲ¸°À¸·Î °³¹ßÇÒ ¼ö ÀÖ´Ù. ÀÌ¿Í ´õºÒ¾î ÄÚƲ¸°Àº »õ·Î¿î ¾ð¾î´ä°Ô ¿©·¯ ÀåÁ¡À» °®°í Àִµ¥, ƯÈ÷ °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹Ö°ú ÇÔ¼öÇü ÇÁ·Î±×·¡¹ÖÀÇ ÀåÁ¡À» Àý¹¦ÇÏ°Ô Á¶È½ÃÄÑ °£°áÇϸ鼵µ °·ÂÇÑ Äڵ带 ½±°Ô ÀÛ¼ºÇÒ ¼ö ÀÖ´Ù.
ÀÌ Ã¥Àº ÄÚƲ¸° ±âº» ¹®¹ý¿¡ Ãæ½ÇÇÑ ¼³¸í°ú ¿¹Á¦·Î ±¸¼ºµÇ¾úÀ¸¸ç, À̸¦ ÅëÇØ ÄÚƲ¸° ¾ð¾îÀÇ ÇÙ½ÉÀ» Àϸñ¿ä¿¬ÇÏ°í ±íÀÌ ÀÖ°Ô ÆľÇÇÒ ¼ö ÀÖ´Ù. µû¶ó¼ ÄÚƲ¸°À» Á¦´ë·Î ¹è¿ì°íÀÚ ÇÏ´Â »ç¶÷µé, ƯÈ÷ ÀÚ¹Ù¸¦ ºñ·ÔÇØ ´Ù¸¥ ÇÁ·Î±×·¡¹Ö ¾ð¾î °³¹ß °æÇèÀÌ ÀÖ´Â »ç¶÷µéÀÌ ºü¸¥ ½Ã°£ ³»¿¡ ÄÚƲ¸°À» ÆľÇÇÏ´Â µ¥ Å« µµ¿òÀÌ µÉ °ÍÀÌ´Ù.
ÀÌ Ã¥À¸·Î ¹è¿ì´Â ÄÚƲ¸° ÇÙ½É »çÇ×
- °³¿ä¿Í Ư¡ ±×¸®°í ¾ÆÅ°ÅØó
- ±âº» ±¸¼º ¿ä¼Ò¿Í ¹®¹ý
- °¢Á¾ ÇÔ¼öÀÇ ÀÌÇØ¿Í »ç¿ë¹ý
- ¶÷´Ù½ÄÀÇ °³³ä°ú »ç¿ë¹ý
- Ä÷º¼Ç ÀÎÅÍÆäÀ̽º¿Í ±¸Çö Ŭ·¡½º »ç¿ë¹ý
- ¾ÖÇø®ÄÉÀÌ¼Ç °³¹ß¿¡ ÇÊ¿äÇÑ ¼ÒÇÁÆ®¿þ¾î ¼³Ä¡¿Í »ç¿ë¹ý
- null ó¸® ¸ÞÄ¿´ÏÁò
- °´Ã¼ÁöÇâ ÇÁ·Î±×·¡¹ÖÀÇ ÇÙ½É »çÇ×°ú ±¸Çö ¹× »ç¿ë¹ý
- ¿¹¿Ü¿Í ¿¹¿Ü ó¸®
- Á¦³×¸¯ÀÇ ÇÙ½É °³³ä°ú »ç¿ë¹ý