2023๋…„ 5์›” 09์ผยท5๋ถ„ ์ฝ๊ธฐ

2024๋…„์— Kotlin ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋Š” ๋ฐฉ๋ฒ•

์ด ํฌ๊ด„์ ์ธ 2024๋…„ ๊ฐ€์ด๋“œ๋ฅผ ํ†ตํ•ด Kotlin ๊ฐœ๋ฐœ์ž๋กœ์„œ ๋ณด๋žŒ์ฐฌ ๊ฒฝ๋ ฅ์„ ์Œ“์œผ์„ธ์š”. ์ด ์‹ ํฅ ๋ถ„์•ผ์—์„œ ์„ฑ๊ณตํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ํ•ต์‹ฌ ๊ฐœ๋…, ๋„๊ตฌ, ์ „๋žต์„ ์•Œ์•„๋ณด์„ธ์š”.

2024๋…„์— Kotlin ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋Š” ๋ฐฉ๋ฒ•

์ฝ”ํ‹€๋ฆฐ ์†Œ๊ฐœ

Kotlin์€ ์ธ๊ธฐ ์žˆ๋Š” IntelliJ IDEA IDE๋ฅผ ๊ฐœ๋ฐœํ•œ JetBrains๊ฐ€ ๊ฐœ๋ฐœํ•œ ์ •์ ์ธ ์œ ํ˜•์˜ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ž…๋‹ˆ๋‹ค. Java๋ฅผ ๊ฐœ์„ ํ•˜๋„๋ก ์„ค๊ณ„๋œ Kotlin์€ JVM(Java Virtual Machine)์—์„œ ์‹คํ–‰๋˜๋ฉฐ Java ์ฝ”๋“œ์™€ ์™„๋ฒฝํ•˜๊ฒŒ ์ƒํ˜ธ ์šด์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๊ธฐ์กด Java ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ํ”„๋กœ์ ํŠธ์—์„œ Java์™€ ํ•จ๊ป˜ Kotlin์„ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

Kotlin์€ ๊ธฐ์กด Java ์ฝ”๋“œ๋ฒ ์ด์Šค์™€์˜ ํ˜ธํ™˜์„ฑ์„ ์œ ์ง€ํ•˜๋ฉด์„œ Java์— ๋Œ€ํ•œ ๋ณด๋‹ค ๊ฐ„๊ฒฐํ•˜๊ณ  ํ‘œํ˜„๋ ฅ์ด ํ’๋ถ€ํ•˜๋ฉฐ ์•ˆ์ „ํ•œ ๋Œ€์•ˆ์„ ์ œ๊ณตํ•˜๋ ค๋Š” ์ฃผ์š” ๋ชฉํ‘œ๋กœ ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค. ์ด ์–ธ์–ด๋Š” Google I/O 2017์—์„œ Android ์•ฑ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์ตœ๊ณ  ์ˆ˜์ค€์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ ๊ณต์‹ ๋ฐœํ‘œ๋˜์—ˆ์œผ๋ฉฐ, ์ดํ›„ ๊ฐœ๋ฐœ์ž์™€ ๊ธฐ์—… ๋ชจ๋‘์—์„œ ์ง€์†์ ์œผ๋กœ ์ธ๊ธฐ๋ฅผ ์–ป๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Android ์•ฑ ๋ฐ ์„œ๋ฒ„ ์ธก ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ตฌ์ถ•๋ถ€ํ„ฐ ๊ณต์œ  ์ฝ”๋“œ๋ฒ ์ด์Šค ์ƒ์„ฑ์„ ์œ„ํ•œ ๋‹ค์ค‘ ํ”Œ๋žซํผ ๊ธฐ๋Šฅ ํ™œ์šฉ์— ์ด๋ฅด๊ธฐ๊นŒ์ง€ Kotlin ๊ฐœ๋ฐœ์ž๋Š” ์ด ์ƒˆ๋กœ์šด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ์—์„œ ์„ฑ๊ณต์ ์ด๊ณ  ๋ณด๋žŒ ์žˆ๋Š” ๊ฒฝ๋ ฅ์„ ์Œ“์„ ์ˆ˜ ์žˆ๋Š” ์ข‹์€ ์œ„์น˜์— ์žˆ์Šต๋‹ˆ๋‹ค.

Kotlin์ด ์ธ๊ธฐ๋ฅผ ์–ป๋Š” ์ด์œ 

Kotlin์ด ๊ฐœ๋ฐœ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ์ถ”์ง„๋ ฅ๊ณผ ์ธ๊ธฐ๋ฅผ ์–ป๊ณ  ์žˆ๋Š” ๋ฐ์—๋Š” ๋ช‡ ๊ฐ€์ง€ ์ด์œ ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ฐ„๊ฒฐํ•˜๊ณ  ํ‘œํ˜„๋ ฅ์ด ํ’๋ถ€ํ•œ ๊ตฌ๋ฌธ: Kotlin์˜ ๊ตฌ๋ฌธ์€ ์ƒ์šฉ๊ตฌ ์ฝ”๋“œ๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ณ  ์ฝ”๋“œ ๊ฐ€๋…์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ์–ธ์–ด๋Š” ์ฝ”๋“œ ๋ช…ํ™•์„ฑ์„ ๊ฐ•์กฐํ•˜๊ณ  ๋ฐ์ดํ„ฐ ํด๋ž˜์Šค, ํ™•์žฅ ํ•จ์ˆ˜ ๋ฐ ์ค‘์œ„ ํ•จ์ˆ˜์™€ ๊ฐ™์€ ์œ ์šฉํ•œ ๊ตฌ๋ฌธ์„ ๋งŽ์ด ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋Š” ๊น”๋”ํ•˜๊ณ  ์œ ์ง€ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ๊ฒฐํ•จ ์œ„ํ—˜์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Java์™€์˜ ์ƒํ˜ธ ์šด์šฉ์„ฑ: Kotlin์€ Java์™€ ์™„๋ฒฝํ•˜๊ฒŒ ํ˜ธํ™˜๋ฉ๋‹ˆ๋‹ค. ์ฆ‰, Kotlin ์ฝ”๋“œ๋ฅผ Java ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ํ”„๋ ˆ์ž„์›Œํฌ, ๋„๊ตฌ์™€ ์›ํ™œํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ๊ธฐ์กด Java ํ”„๋กœ์ ํŠธ์—์„œ Kotlin์„ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜ Kotlin ํ”„๋กœ์ ํŠธ์— Java ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ƒํ˜ธ ์šด์šฉ์„ฑ์„ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋Š” ๊ธฐ์กด ์ฝ”๋“œ๋ฒ ์ด์Šค๋ฅผ ํฌ๊ธฐํ•˜์ง€ ์•Š๊ณ ๋„ Java์—์„œ Kotlin์œผ๋กœ ๋” ์‰ฝ๊ฒŒ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์•ˆ์ „ ๊ธฐ๋Šฅ: Kotlin์€ NullPointerException๊ณผ ๊ฐ™์€ ๋Ÿฐํƒ€์ž„ ์˜ˆ์™ธ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ๋Š” ์ผ๋ฐ˜์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์˜ค๋ฅ˜๋ฅผ ์ค„์ด๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” null ์•ˆ์ „๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ์•ˆ์ „์„ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ Kotlin์˜ ์œ ํ˜• ์ถ”๋ก  ๋ฐ ์Šค๋งˆํŠธ ์บ์ŠคํŠธ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์ปดํŒŒ์ผ ํƒ€์ž„์— ์ž ์žฌ์ ์ธ ์˜ค๋ฅ˜๋ฅผ ํฌ์ฐฉํ•˜์—ฌ ์ฝ”๋“œ๋ฅผ ๋” ์•ˆ์ „ํ•˜๊ณ  ์•ˆ์ •์ ์œผ๋กœ ๋งŒ๋“œ๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.
  • ๊ณต์‹ Android ์ง€์›: Kotlin์ด Android ์•ฑ ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ์ตœ๊ณ  ์–ธ์–ด๋กœ ๊ณต์‹ ๋ฐœํ‘œ๋˜๋ฉด์„œ Android ๊ฐœ๋ฐœ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ๋Š” Kotlin์„ ๋น ๋ฅด๊ฒŒ ์ฑ„ํƒํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ Android Studio ๋Š” Android ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์ด์ƒ์ ์ธ ์„ ํƒ์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ด‘๋ฒ”์œ„ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜: Kotlin์€ Android ์•ฑ ๊ฐœ๋ฐœ์—๋งŒ ๊ตญํ•œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์„œ๋ฒ„์ธก ๊ฐœ๋ฐœ, ์Šคํฌ๋ฆฝํŒ… ๋ฐ ๋‹ค์ค‘ ํ”Œ๋žซํผ ๊ฐœ๋ฐœ์—๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋‹ค์–‘์„ฑ์„ ํ†ตํ•ด Kotlin ๊ฐœ๋ฐœ์ž๋Š” ๋‹ค์–‘ํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ณ  ํ”„๋กœ์„ธ์Šค์—์„œ ๊ธฐ์ˆ  ๋ฒ”์œ„๋ฅผ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Kotlin ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ•„์ˆ˜ ๊ธฐ์ˆ 

Kotlin ๊ฐœ๋ฐœ์— ๋„์ „ํ•˜๊ณ  ๊ฒฝ๋ ฅ์„ ์Œ“์œผ๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํ•ต์‹ฌ ๊ธฐ์ˆ ๊ณผ ์ง€์‹์„ ์Šต๋“ํ•˜๋Š” ๋ฐ ์ง‘์ค‘ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • Kotlin ๊ธฐ๋ณธ ์‚ฌํ•ญ: Kotlin ๊ตฌ๋ฌธ, ๋ฐ์ดํ„ฐ ํด๋ž˜์Šค, ๋ด‰์ธ ํด๋ž˜์Šค, ์œ ํ˜• ์ถ”๋ก , ํ™•์žฅ ๊ธฐ๋Šฅ๊ณผ ๊ฐ™์€ ๊ตฌ์„ฑ์— ๋Œ€ํ•œ ๊ฐ•๋ ฅํ•œ ์ดํ•ด๊ฐ€ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ ๋žŒ๋‹ค, ๊ณ ์ฐจ ํ•จ์ˆ˜, null ์•ˆ์ „์„ฑ, ๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์šฉ ์ฝ”๋ฃจํ‹ด๊ณผ ๊ฐ™์€ Kotlin์˜ ํ•ต์‹ฌ ๊ธฐ๋Šฅ์„ ๋Šฅ์ˆ™ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • Android ์•ฑ ๊ฐœ๋ฐœ: Android ์•ฑ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋  ๊ณ„ํš์ด๋ผ๋ฉด Android Studio, Android SDK, Gradle์„ ํฌํ•จํ•œ Android ๊ฐœ๋ฐœ ์ƒํƒœ๊ณ„๋ฅผ ํ™•์‹คํ•˜๊ฒŒ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. Android ์•ฑ ์ˆ˜๋ช… ์ฃผ๊ธฐ, ํ™œ๋™, ์กฐ๊ฐ, ๋‹ค์–‘ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์— ์ต์ˆ™ํ•˜๋ฉด Kotlin์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ฐ•๋ ฅํ•˜๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ Android ์•ฑ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์„œ๋ฒ„ ์ธก ๊ฐœ๋ฐœ: Kotlin ๊ฐœ๋ฐœ์ž๋กœ์„œ Ktor ๋˜๋Š” Spring Boot์™€ ๊ฐ™์€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํฌํ•จํ•œ ์„œ๋ฒ„ ์ธก ๊ฐœ๋ฐœ์— ๋Œ€ํ•œ ์ง€์‹์ด ์žˆ์œผ๋ฉด ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ์ ํŠธ ๋ฒ”์œ„๊ฐ€ ๋”์šฑ ๋„“์–ด์ง„๋‹ค๋Š” ์ ์—์„œ ์ถ”๊ฐ€์ ์ธ ์ด์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฐ˜์‘ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ: ๋ฐ˜์‘ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์€ ๋ฐ˜์‘์„ฑ์ด ๋›ฐ์–ด๋‚˜๊ณ  ํƒ„๋ ฅ์ ์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ํŒจ๋Ÿฌ๋‹ค์ž„์ด ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. RxJava, RxKotlin ๋˜๋Š” Kotlin Flow์™€ ๊ฐ™์€ ๋ฐ˜์‘ํ˜• ํ”„๋ ˆ์ž„์›Œํฌ์— ์ต์ˆ™ํ•˜๋ฉด ๋ณด๋‹ค ํšจ์œจ์ ์ด๊ณ  ๋ฐ˜์‘์„ฑ์ด ๋›ฐ์–ด๋‚œ Kotlin ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“œ๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.
  • RESTful API: Kotlin ๊ฐœ๋ฐœ์ž๋Š” ์™ธ๋ถ€ ์„œ๋น„์Šค ๋ฐ ๋ฐ์ดํ„ฐ ์†Œ์Šค์™€ ์ƒํ˜ธ์ž‘์šฉํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ๊ธฐ ๋•Œ๋ฌธ์— RESTful API๋ฅผ ๋Šฅ์ˆ™ํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  API ๋””์ž์ธ ์›์น™์„ ์ดํ•ดํ•˜๋Š” ๋Šฅ๋ ฅ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฒ„์ „ ์ œ์–ด ๋ฐ ๋นŒ๋“œ ๋„๊ตฌ: Git๊ณผ ๊ฐ™์€ ๋ฒ„์ „ ์ œ์–ด ์‹œ์Šคํ…œ๊ณผ Gradle ๋˜๋Š” Maven๊ณผ ๊ฐ™์€ ๋นŒ๋“œ ๋„๊ตฌ์— ๋Œ€ํ•œ ์ง€์‹์€ ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž์™€ ํ˜‘๋ ฅํ•˜๊ณ  ์ฝ”๋“œ ์ข…์†์„ฑ์„ ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค.
  • ํ…Œ์ŠคํŠธ: JUnit, Mockito, Espresso์™€ ๊ฐ™์€ ํ…Œ์ŠคํŠธ ํ”„๋ ˆ์ž„์›Œํฌ์— ๋Œ€ํ•œ ์ง€์‹๊ณผ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ ๋ฐ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ž‘์„ฑ ๋Šฅ๋ ฅ์€ ์•ˆ์ •์ ์ด๊ณ  ์œ ์ง€ ๊ด€๋ฆฌ๊ฐ€ ๊ฐ€๋Šฅํ•œ Kotlin ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“œ๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ํ•„์ˆ˜ ๊ธฐ์ˆ ์„ ์—ฐ๋งˆํ•˜๊ณ  ์ด๋ฅผ ์‹ค์ œ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ์ง€์†์ ์œผ๋กœ ์—ฐ์Šตํ•˜๊ณ  ์ ์šฉํ•จ์œผ๋กœ์จ ์˜ค๋Š˜๋‚ ์˜ ๊ฒฝ์Ÿ์ด ์น˜์—ดํ•œ ๊ธฐ์ˆ  ์‚ฐ์—…์—์„œ ์„ฑ๊ณต์ ์ธ Kotlin ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋Š” ๊ธธ์— ๋“ค์–ด์„œ๊ฒŒ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Kotlin ํ•™์Šต: ๋ฆฌ์†Œ์Šค ๋ฐ ๋„๊ตฌ

Kotlin์— ๋Šฅ์ˆ™ํ•ด์ง€๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋ฆฌ์†Œ์Šค, ๋„๊ตฌ, ์ผ๊ด€๋œ ์—ฐ์Šต์˜ ์กฐํ•ฉ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Kotlin์„ ํšจ๊ณผ์ ์œผ๋กœ ํ•™์Šตํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋„๋ก ์„ค๊ณ„๋œ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์‹œ์ž‘ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ช‡ ๊ฐ€์ง€ ํ•„์ˆ˜ ๋ฆฌ์†Œ์Šค์™€ ๋„๊ตฌ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ๊ณต์‹ Kotlin ๋ฌธ์„œ: Kotlin ํŒ€์—์„œ ์ •๊ธฐ์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•˜๋Š” Kotlin ๊ตฌ๋ฌธ, ๊ฐœ๋…, ๋ชจ๋ฒ” ์‚ฌ๋ก€์— ๋Œ€ํ•œ ์ตœ์ข… ์†Œ์Šค์ž…๋‹ˆ๋‹ค. kotlinlang.org์—์„œ ๋‹ค์–‘ํ•œ Kotlin ๊ฐœ๋…์— ๋Œ€ํ•œ ํŠœํ† ๋ฆฌ์–ผ, ์ฝ”๋“œ ์ƒ˜ํ”Œ, ์„ค๋ช…์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Kotlin Koans: Kotlin Koans๋Š” ์‹ค์Šต ์ž‘์—…์„ ํ†ตํ•ด Kotlin ๊ธฐ๋Šฅ์„ ์†Œ๊ฐœํ•˜๋„๋ก ์„ค๊ณ„๋œ ์ผ๋ จ์˜ ์—ฐ์Šต์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์‹ค์Šต์„ ํ†ตํ•ด ํ•™์Šตํ•  ์ˆ˜ ์žˆ๋Š” ํ›Œ๋ฅญํ•œ ๋ฆฌ์†Œ์Šค์ด๋ฉฐ play.kotlinlang.org/koans์—์„œ Koans๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • JetBrains Academy์˜ Kotlin ๊ฐœ๋ฐœ์ž ํŠธ๋ž™: Kotlin์„ ๊ฐœ๋ฐœํ•œ JetBrains๋Š” ์•ผ์‹ฌ์ฐฌ Kotlin ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ๊ด‘๋ฒ”์œ„ํ•œ ์˜จ๋ผ์ธ ํ•™์Šต ํ”„๋กœ๊ทธ๋žจ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ํŠธ๋ž™์—๋Š” ์‹ค์šฉ์ ์ธ Kotlin ๊ธฐ์ˆ ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ์ˆ˜๋งŽ์€ ํ”„๋กœ์ ํŠธ, ํ€ด์ฆˆ, ๊ณผ์ œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. jetbrains.com/academy์—์„œ ๋“ฑ๋กํ•˜์„ธ์š”.
  • Coursera ๋ฐ Udemy: Coursera ๋ฐ Udemy์™€ ๊ฐ™์€ ์ธ๊ธฐ ์žˆ๋Š” ์˜จ๋ผ์ธ ํ•™์Šต ํ”Œ๋žซํผ์€ ์ดˆ๊ธ‰๋ถ€ํ„ฐ ๊ณ ๊ธ‰ ์ˆ˜์ค€๊นŒ์ง€ Kotlin ๊ณผ์ •์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณผ์ •์—๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๋น„๋””์˜ค ๊ฐ•์˜, ์‹ค์Šต ํ”„๋กœ์ ํŠธ ๋ฐ ๊ฐ•์‚ฌ ์ง€์›์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
  • YouTube ์ฑ„๋„: Android Developers, CodingWithMitch, freeCodeCamp ๋“ฑ ์ผ๋ถ€ ์œ ๋ช… YouTube ์ฑ„๋„์—์„œ๋Š” Kotlin์— ๋Œ€ํ•œ ํŠœํ† ๋ฆฌ์–ผ๊ณผ ํ†ต์ฐฐ๋ ฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ ๋ฐ ํŒŸ์บ์ŠคํŠธ: ์ˆ˜๋งŽ์€ Kotlin ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ท€์ค‘ํ•œ ํŒ๊ณผ ์š”๋ น์„ ๋ฐฐ์šฐ๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ๋Š” ๋ธ”๋กœ๊ทธ์™€ ํŒŸ์บ์ŠคํŠธ๋ฅผ ํ†ตํ•ด ์ž์‹ ์˜ ๊ฒฝํ—˜๊ณผ ์ง€์‹์„ ๊ณต์œ ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์•ผ ํ•  ๋ช‡ ๊ฐ€์ง€ ๋ฆฌ์†Œ์Šค์—๋Š” Kotlin์„ ์‚ฌ์šฉํ•œ Android ๊ฐœ๋ฐœ์— ์ดˆ์ ์„ ๋งž์ถ˜ Talking Kotlin ๋ฐ Medium ๊ฐ„ํ–‰๋ฌผ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.
  • Stack Overflow ๋ฐ GitHub: ๋‘ ํ”Œ๋žซํผ ๋ชจ๋‘ ํ’๋ถ€ํ•œ ์ง€์‹๊ณผ ์˜ˆ์ œ๋ฅผ ์ œ๊ณตํ•˜๋ฏ€๋กœ ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž์™€ ํ˜‘๋ ฅํ•˜๊ณ , ์งˆ๋ฌธํ•˜๊ณ , ์ผ๋ฐ˜์ ์ธ Kotlin ๋ฌธ์ œ์— ๋Œ€ํ•œ ์†”๋ฃจ์…˜์„ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹ค์ œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ํ•˜๊ณ  Kotlin ๊ธฐ๋Šฅ์„ ์‹คํ—˜ํ•˜๋ฉด์„œ ํ•™์Šตํ•œ ๋‚ด์šฉ์„ ์ ์šฉํ•ด ๋ณด์„ธ์š”. ์ด๋Ÿฌํ•œ ์‹ค์Šต ๊ฒฝํ—˜์€ ์ดํ•ด๋ฅผ ๊ฐ•ํ™”ํ•˜๊ณ  ๋Šฅ์ˆ™ํ•œ Kotlin ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋Š” ๋ฐ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

AppMaster ํ”Œ๋žซํผ์˜ Kotlin

์•„์ด๋””์–ด์—์„œ MVP๊นŒ์ง€
์ˆ˜ ์ฃผ๊ฐ„์˜ ์ˆ˜๋™ ์„ค์ •์— ํˆฌ์žํ•˜๊ธฐ ์ „์— ์ž‘๋™ํ•˜๋Š” MVP๋กœ ์•ฑ ์•„์ด๋””์–ด๋ฅผ ๊ฒ€์ฆํ•˜์„ธ์š”.
MVP ๋งŒ๋“ค๊ธฐ

no-code ํ”Œ๋žซํผ ์ธ AppMaster ์›น, ๋ชจ๋ฐ”์ผ ๋ฐ ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒ์„ฑ์„ ๊ฐ„์†Œํ™”ํ•ฉ๋‹ˆ๋‹ค. ์ด ํ”Œ๋žซํผ์€ Android ์•ฑ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค ์— Jetpack Compose ์™€ ํ•จ๊ป˜ Kotlin์„ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด Kotlin์ด ์ œ๊ณตํ•˜๋Š” ํ˜„๋Œ€์ ์ธ ๊ตฌ๋ฌธ, ์ƒ์šฉ๊ตฌ ์ฝ”๋“œ ๊ฐ์†Œ, ํ–ฅ์ƒ๋œ ํšจ์œจ์„ฑ์˜ ์ด์ ์„ ๋ˆ„๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

AppMaster ํ”Œ๋žซํผ์—์„œ ๊ณ ๊ฐ์€ ๋ชจ๋ฐ”์ผ BP( ๋น„์ฆˆ๋‹ˆ์Šค ํ”„๋กœ์„ธ์Šค ) ๋””์ž์ด๋„ˆ ๋‚ด์—์„œ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ์„ค๊ณ„ํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ตฌ์„ฑ ์š”์†Œ๋ฅผ ๊ฐ„๋‹จํžˆ ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญํ•˜์—ฌ UI๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AppMaster Kotlin ๋ฐ Jetpack Compose ์‚ฌ์šฉํ•˜์—ฌ ๋งž์ถค Kotlin ๊ตฌ์„ฑ์š”์†Œ๋ฅผ Android ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์›ํ™œํ•˜๊ฒŒ ํ†ตํ•ฉํ•˜๋„๋ก ์ง€์›ํ•˜์—ฌ ์•ฑ ๊ตฌ์ถ• ํ”„๋กœ์„ธ์Šค๋ฅผ ๋”์šฑ ๊ฐ€์†ํ™”ํ•ฉ๋‹ˆ๋‹ค.

Kotlin ๊ฐœ๋ฐœ์ž๋กœ์„œ AppMaster ์™€ ๊ฐ™์€ ํ†ตํ•ฉ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์— ์ต์ˆ™ํ•ด์ง€๋ฉด ์—…๊ณ„ ๋™ํ–ฅ์„ ์ตœ์‹  ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๊ณ  Kotlin์„ ์‚ฌ์šฉํ•˜์—ฌ ๋งค๋ ฅ์ ์ด๊ณ  ํšจ์œจ์ ์ธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“œ๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Kotlin ๊ฐœ๋ฐœ์ž ํฌํŠธํด๋ฆฌ์˜ค ๊ตฌ์ถ•

์•ฑ ๋ฐ์ดํ„ฐ ๋น ๋ฅด๊ฒŒ ๋ชจ๋ธ๋ง
PostgreSQL ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ์‹œ๊ฐ์ ์œผ๋กœ ์ •์˜ํ•˜๊ณ  ๋ฐ˜๋ณตํ•˜๋ฉด์„œ ๋™๊ธฐํ™” ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜์„ธ์š”.
๋ฐ์ดํ„ฐ ์„ค๊ณ„

ํƒ„ํƒ„ํ•œ Kotlin ๊ฐœ๋ฐœ์ž ํฌํŠธํด๋ฆฌ์˜ค๋Š” ์ž ์žฌ์ ์ธ ๊ณ ์šฉ์ฃผ์™€ ๊ณ ๊ฐ์—๊ฒŒ ๊ท€ํ•˜์˜ ๊ฒฝํ—˜๊ณผ ์ „๋ฌธ์„ฑ์„ ๊ฐ•์กฐํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. Kotlin ๊ฐœ๋ฐœ์ž ํฌํŠธํด๋ฆฌ์˜ค๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ๋ช‡ ๊ฐ€์ง€ ๋‹จ๊ณ„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ ์ž‘์—…: Android ์•ฑ์„ ๊ฐœ๋ฐœํ•˜๊ฑฐ๋‚˜ ๋‹ค๋ฅธ Kotlin ์ง€์› ํ”Œ๋žซํผ์„ ํ™œ์šฉํ•˜์—ฌ ์ž์‹ ์˜ ๊ธฐ์ˆ ์„ ๋ณด์—ฌ์ฃผ๋Š” ๋…ํŠนํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“œ์„ธ์š”. ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋Š” Kotlin ๊ธฐ๋Šฅ์„ ์‹คํ—˜ํ•˜๊ณ  ์ˆ™๋ จ๋„๋ฅผ ์ž…์ฆํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐํšŒ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ์˜คํ”ˆ ์†Œ์Šค์— ๊ธฐ์—ฌ: GitHub์—์„œ ๋งŽ์€ Kotlin ๊ธฐ๋ฐ˜ ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ”„๋กœ์ ํŠธ์— ๊ธฐ์—ฌํ•˜๋ฉด ํฌํŠธํด๋ฆฌ์˜ค๊ฐ€ ํ’๋ถ€ํ•ด์งˆ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋‹ค๋ฅธ Kotlin ๊ฐœ๋ฐœ์ž์™€ ์—ฐ๊ฒฐ๋˜๊ณ  ์‹ค์ œ ๋ฌธ์ œ์— ๋…ธ์ถœ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ”„๋ฆฌ๋žœ์„œ๋กœ ์ผํ•˜๊ธฐ: ํ”„๋ฆฌ๋žœ์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋ฉด ํฌํŠธํด๋ฆฌ์˜ค์— ๋‹ค์–‘์„ฑ์ด ์ถ”๊ฐ€๋  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๋‹ค์–‘ํ•œ ํด๋ผ์ด์–ธํŠธ ๋ฐ ์š”๊ตฌ ์‚ฌํ•ญ์„ ๋‹ค๋ฃจ๋Š” ์‹ค์ œ ๊ฒฝํ—˜์„ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • GitHub์—์„œ ํ”„๋กœ์ ํŠธ ์‡ผ์ผ€์ด์Šค: GitHub์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ˜ธ์ŠคํŒ…ํ•˜์—ฌ ์ž ์žฌ์ ์ธ ๊ณ ์šฉ์ฃผ์™€ ๊ณต๋™์ž‘์—…์ž๊ฐ€ ์ฝ”๋“œ์— ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜์„ธ์š”. ์ด๋Š” ๊ท€ํ•˜์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ์„ ๋ณด์ด๊ณ  ๋ชจ๋ฒ” ์‚ฌ๋ก€์— ๋Œ€ํ•œ ๊ท€ํ•˜์˜ ์˜์ง€๋ฅผ ๊ฐ•์กฐํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž์™€์˜ ๋„คํŠธ์›Œํฌ: Kotlin ๋ฐ Android ๊ด€๋ จ ๋ชจ์ž„, ์ปจํผ๋Ÿฐ์Šค, ์›น ์„ธ๋ฏธ๋‚˜์— ์ฐธ์„ํ•˜์—ฌ ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋กœ๋ถ€ํ„ฐ ๋ฐฐ์šฐ๊ณ  ์†Œํ†ตํ•˜์„ธ์š”. ๋„คํŠธ์›Œํ‚น์€ ํฌํŠธํด๋ฆฌ์˜ค ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ๊ธฐํšŒ์™€ ์˜๊ฐ์œผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ํ•ด์ปคํ†ค์— ์ฐธ์—ฌํ•˜์„ธ์š”: ํ•ด์ปคํ†ค์€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๊ณผ ํ˜‘๋ ฅํ•˜๊ณ , ํ˜์‹ ์ ์ธ ์†”๋ฃจ์…˜์„ ๊ฐœ๋ฐœํ•˜๊ณ , Kotlin ๊ธฐ์ˆ ์„ ์—ฐ๋งˆํ•  ์ˆ˜ ์žˆ๋Š” ์ง‘์ค‘ ์ฝ”๋”ฉ ์ด๋ฒคํŠธ์ž…๋‹ˆ๋‹ค. Kotlin ์ค‘์‹ฌ ํ•ด์ปคํ†ค์— ์ฐธ์—ฌํ•˜๋ฉด ํฌํŠธํด๋ฆฌ์˜ค๋ฅผ ๊ฐ•ํ™”ํ•˜๊ณ  ๊ท€์ค‘ํ•œ ํ•™์Šต ๊ฒฝํ—˜์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ ์ž‘์„ฑ: Kotlin ๊ฐœ๋ฐœ ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ๊ณผ ๋ฆฌ๋”์‹ญ์„ ๋ณด์—ฌ์ฃผ๋Š” ์‹ฌ์ธต ๊ธฐ์‚ฌ, ํŠœํ† ๋ฆฌ์–ผ ๋˜๋Š” ์‚ฌ๋ก€ ์—ฐ๊ตฌ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ Kotlin ์ „๋ฌธ ์ง€์‹์„ ๊ณต์œ ํ•˜์„ธ์š”.

์ธ์ƒ์ ์ธ Kotlin ๊ฐœ๋ฐœ์ž ํฌํŠธํด๋ฆฌ์˜ค๋ฅผ ๊ตฌ์ถ•ํ•˜๋ ค๋ฉด ๊ธฐ์ˆ ์„ ์—ฐ๋งˆํ•˜๊ณ , ํ”„๋กœ์ ํŠธ๋ฅผ ์„ ๋ณด์ด๊ณ , ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๊ณผ ์ง€์‹์„ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ๋”ฐ๋ฅด๋ฉด Kotlin ์ „๋ฌธ์„ฑ์„ ํšจ๊ณผ์ ์œผ๋กœ ์ž…์ฆํ•˜๊ณ  ์—…๊ณ„์—์„œ ๋ณด๋žŒ ์žˆ๋Š” ๊ธฐํšŒ๋ฅผ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ทจ์—… ๊ธฐํšŒ ๋ฐ ๊ธ‰์—ฌ ๊ธฐ๋Œ€์น˜

Kotlin์ด ์ „ ์„ธ๊ณ„ ๊ฐœ๋ฐœ์ž์™€ ์กฐ์ง ์‚ฌ์ด์—์„œ ๊ณ„์†ํ•ด์„œ ์ธ๊ธฐ๋ฅผ ์–ป์œผ๋ฉด์„œ Kotlin ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ์ทจ์—… ์‹œ์žฅ๋„ ํ™•๋Œ€๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธˆ์œต, ์˜๋ฃŒ, ์ „์ž์ƒ๊ฑฐ๋ž˜ , ๊ธฐ์ˆ  ๋“ฑ ๋‹ค์–‘ํ•œ ์‚ฐ์—… ๋ถ„์•ผ์˜ ๊ธฐ์—…์—์„œ Android ๋ฐ ๋‹ค์ค‘ ํ”Œ๋žซํผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๊ณ  ์œ ์ง€๊ด€๋ฆฌํ•  Kotlin ๊ฐœ๋ฐœ์ž๋ฅผ ์ฐพ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Kotlin ๊ฐœ๋ฐœ์ž์˜ ์ง์œ„๋Š” ๋‹ค์–‘ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ช‡ ๊ฐ€์ง€ ์ผ๋ฐ˜์ ์ธ ์ง์œ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ์ž
  • Kotlin ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž
  • ํ’€์Šคํƒ ๊ฐœ๋ฐœ์ž(Kotlin/Java ๋ฐ ํ”„๋ŸฐํŠธ์—”๋“œ ๊ธฐ์ˆ )
  • ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ์ž
  • Kotlin ๋‹ค์ค‘ ํ”Œ๋žซํผ ๊ฐœ๋ฐœ์ž

Kotlin ๊ฐœ๋ฐœ์ž์˜ ๊ธ‰์—ฌ๋Š” ๊ฒฝํ—˜, ์ง์—… ์œ„์น˜, ์‚ฐ์—…, ํšŒ์‚ฌ ๊ทœ๋ชจ ๋“ฑ์˜ ์š”์†Œ์— ๋”ฐ๋ผ ์—ฐ๊ฐ„ 70,000๋‹ฌ๋Ÿฌ์—์„œ 120,000๋‹ฌ๋Ÿฌ ์‚ฌ์ด ์ž…๋‹ˆ๋‹ค. ๊ฒฝํ—˜์ด ๋” ๋งŽ์€ ๊ฐœ๋ฐœ์ž๋‚˜ Kotlin ๊ฐœ๋ฐœ ๋‚ด ํ‹ˆ์ƒˆ ์˜์—ญ์„ ์ „๋ฌธ์œผ๋กœ ํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋Š” ํ›จ์”ฌ ๋” ๋†’์€ ๋ณด์ƒ ํŒจํ‚ค์ง€๋ฅผ ์š”๊ตฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Kotlin ๊ฐœ๋ฐœ ์ผ์ž๋ฆฌ๋ฅผ ์ฐพ์„ ๋•Œ ํ˜„์ง€ ์‹œ์žฅ ์ƒํ™ฉ๊ณผ ๊ธ‰์—ฌ๋ฅผ ์กฐ์‚ฌํ•˜์—ฌ ํŠน์ • ์ง€์—ญ์—์„œ ์˜ˆ์ƒ๋˜๋Š” ๊ธ‰์—ฌ ๋ฒ”์œ„๋ฅผ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค.

์ธ์ฆ ๋ฐ ์ „๋ฌธ ๊ฐœ๋ฐœ

์ฒซ Kotlin ์•ฑ ๋งŒ๋“ค๊ธฐ
Kotlin๊ณผ Android ์ง€์‹์„ ๋ฐฑ์—”๋“œ์™€ UI๊ฐ€ ํ•˜๋‚˜๋กœ ํ†ตํ•ฉ๋œ ์ž‘๋™ํ•˜๋Š” ์•ฑ์œผ๋กœ ๋ฐ”๊พธ์„ธ์š”.
AppMaster๋กœ ๋นŒ๋“œ

ํ˜„์žฌ ๊ตฌ์ฒด์ ์ธ Kotlin ์ž๊ฒฉ์ฆ์€ ์—†์ง€๋งŒ Kotlin ์ „๋ฌธ ์ง€์‹์„ ํ–ฅ์ƒํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์—ฌ๋Ÿฌ ์ „๋ฌธ ๊ฐœ๋ฐœ ๊ณผ์ •๊ณผ ํ•™์Šต ๊ฒฝ๋กœ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์˜ต์…˜ ์ค‘ ์ผ๋ถ€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • JetBrains Academy Kotlin ๊ฐœ๋ฐœ์ž ํŠธ๋ž™: Kotlin์„ ๋งŒ๋“  JetBrains๋Š” ๊ธฐ๋ณธ ๋ฐ ๊ณ ๊ธ‰ Kotlin ๊ฐœ๋…์„ ๋ชจ๋‘ ๋‹ค๋ฃจ๋Š” ํฌ๊ด„์ ์ธ ์˜จ๋ผ์ธ ํ•™์Šต ํ”„๋กœ๊ทธ๋žจ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ํŠธ๋ž™์„ ์™„๋ฃŒํ•˜๋ฉด ์ž ์žฌ์  ๊ณ ์šฉ์ฃผ์—๊ฒŒ Kotlin ์ „๋ฌธ์„ฑ์„ ์ž…์ฆํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • Google Associate Android Developer: Kotlin์—๋งŒ ์ค‘์ ์„ ๋‘์ง€๋Š” ์•Š์ง€๋งŒ ์ด ์ธ์ฆ์„ ํš๋“ํ•˜๋ฉด Kotlin ๋ฐ Java๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ Android ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ๋Šฅ์ˆ™ํ•จ์„ ์ž…์ฆํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Kotlin๊ณผ Android ๊ฐœ๋ฐœ ๊ฐ„์˜ ๊ธด๋ฐ€ํ•œ ์—ฐ๊ด€์„ฑ์„ ๊ณ ๋ คํ•  ๋•Œ ์ด ์ž๊ฒฉ ์ฆ๋ช…์€ ์ฑ„์šฉ ์‹œ์žฅ์—์„œ ์ƒ๋‹นํ•œ ๋น„์ค‘์„ ์ฐจ์ง€ํ•ฉ๋‹ˆ๋‹ค.
  • Coursera: Coursera์—์„œ๋Š” Kotlin ๋ฐ Android ๊ฐœ๋ฐœ์˜ ๋‹ค์–‘ํ•œ ์ธก๋ฉด์„ ๋‹ค๋ฃจ๋Š” ์ˆ˜๋งŽ์€ ์˜จ๋ผ์ธ ๊ฐ•์ขŒ์™€ ์ „๋ฌธ ๋ถ„์•ผ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๊ทธ ์ค‘ ์ผ๋ถ€๋Š” Stanford ๋ฐ Vanderbilt์™€ ๊ฐ™์€ ์ผ๋ฅ˜ ๋Œ€ํ•™์—์„œ๋„ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.
  • Udemy: Udemy๋Š” ์ž…๋ฌธ ๋ ˆ์Šจ๋ถ€ํ„ฐ ๊ณ ๊ธ‰ ์ฃผ์ œ ๋ฐ ํ”„๋กœ์ ํŠธ ๊ธฐ๋ฐ˜ ์ฝ”์Šค์— ์ด๋ฅด๊ธฐ๊นŒ์ง€ ์ˆ™๋ จ๋œ ๊ฐ•์‚ฌ๊ฐ€ ์ง„ํ–‰ํ•˜๋Š” ๋‹ค์–‘ํ•œ Kotlin ์ฝ”์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ฐ•์ขŒ ๋ฐ ์ธ์ฆ ์™ธ์—๋„ Kotlin ๋ฐ Android ๊ฐœ๋ฐœ์— ์ดˆ์ ์„ ๋งž์ถ˜ ์›น ์„ธ๋ฏธ๋‚˜, ์›Œํฌ์ˆ, ๋ชจ์ž„, ์ปจํผ๋Ÿฐ์Šค์— ์ •๊ธฐ์ ์œผ๋กœ ์ฐธ์„ํ•˜๋ฉด ์ „๋ฌธ ๋„คํŠธ์›Œํฌ๋ฅผ ํ™•์žฅํ•˜๋Š” ๋™์‹œ์— ์—…๊ณ„ ๋™ํ–ฅ๊ณผ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ์ตœ์‹  ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Kotlin ์ „๋ฌธ๊ฐ€ ๋˜๊ธฐ: ํŒ๊ณผ ์š”๋ น

ํฌํŠธํด๋ฆฌ์˜ค ์•ฑ ์ถœ์‹œ
๋‹จ์ˆœ ํŠœํ† ๋ฆฌ์–ผ์ด ์•„๋‹Œ ์‹ค์ œ ์ œํ’ˆ ์‚ฌ๊ณ ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” ํฌํŠธํด๋ฆฌ์˜ค ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“œ์„ธ์š”.
AppMaster ์‚ฌ์šฉํ•ด๋ณด๊ธฐ

Kotlin ์ „๋ฌธ๊ฐ€๊ฐ€ ๋˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ๋ช‡ ๊ฐ€์ง€ ํŒ๊ณผ ์š”๋ น์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ๊พธ์ค€ํžˆ ์—ฐ์Šตํ•˜์„ธ์š”. ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ๋ฅผ ์ •๊ธฐ์ ์œผ๋กœ ์ฝ”๋”ฉํ•˜๊ณ  ์ž‘์—…ํ•˜์—ฌ Kotlin์— ๋Œ€ํ•œ ์ „๋ฌธ ์ง€์‹์„ ์–ป์œผ์„ธ์š”. ์ง„ํ–‰ํ•˜๋ฉด์„œ ๋”์šฑ ๋ณต์žกํ•œ ์ž‘์—…์— ๋„์ „ํ•˜๊ณ  ๊ณ ๊ธ‰ Kotlin ๊ฐœ๋…์„ ์‚ดํŽด๋ณด์„ธ์š”.
  • ์—…๊ณ„ ๋™ํ–ฅ์— ๋Œ€ํ•œ ์ตœ์‹  ์ •๋ณด๋ฅผ ์–ป์œผ์„ธ์š”. Kotlin ์—…๋ฐ์ดํŠธ, ๋ชจ๋ฒ” ์‚ฌ๋ก€, ํ•ด๋‹น ๋ถ„์•ผ ์ „๋ฌธ๊ฐ€์˜ ํ†ต์ฐฐ๋ ฅ์„ ์ ๊ทน์ ์œผ๋กœ ๋”ฐ๋ฅด์„ธ์š”. Kotlin ๋ฐ Android ๊ฐœ๋ฐœ ์ „์šฉ ๋‰ด์Šค๋ ˆํ„ฐ, ๋ธ”๋กœ๊ทธ, YouTube ์ฑ„๋„์„ ๊ตฌ๋…ํ•˜์„ธ์š”.
  • Kotlin ๋ฐ Android ๊ฐœ๋ฐœ ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์ฐธ์—ฌ: ์˜จ๋ผ์ธ ํฌ๋Ÿผ ๋ฐ Stack Overflow, Kotlin Slack, Reddit ๋“ฑ์˜ ์ปค๋ฎค๋‹ˆํ‹ฐ ํ”Œ๋žซํผ์— ์ฐธ์—ฌํ•˜์—ฌ ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž์™€ ํ† ๋ก ์— ์ฐธ์—ฌํ•˜์„ธ์š”. ์ง์ ‘ ๋ชจ์ž„๊ณผ ์ปจํผ๋Ÿฐ์Šค๋„ ๊ท€์ค‘ํ•œ ๋„คํŠธ์›Œํ‚น ๊ธฐํšŒ์ž…๋‹ˆ๋‹ค.
  • ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ์— ๊ธฐ์—ฌ: ์˜คํ”ˆ์†Œ์Šค ๊ฐœ๋ฐœ์— ์ฐธ์—ฌํ•˜์—ฌ Kotlin ์ „๋ฌธ ์ง€์‹์„ ์—ฐ๋งˆํ•˜์„ธ์š”. ์ด๋Š” ์‹ค๋ฌด ๊ฒฝํ—˜์„ ์ œ๊ณตํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ Kotlin ์ปค๋ฎค๋‹ˆํ‹ฐ ๋‚ด์—์„œ ํ‰ํŒ์„ ์Œ“๋Š” ๋ฐ๋„ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.
  • ์ง€์‹ ๊ณต์œ : Kotlin ์ฃผ์ œ์— ๋Œ€ํ•œ ๋ธ”๋กœ๊น…, ํฌ๋Ÿผ ์ฐธ์—ฌ ๋˜๋Š” ์›น ์„ธ๋ฏธ๋‚˜ ์ œ๊ณต์€ ๊ฐœ๋ฐœ ์ปค๋ฎค๋‹ˆํ‹ฐ ๋‚ด์—์„œ ์ „๋ฌธ์„ฑ์„ ๋ณด์—ฌ์ฃผ๊ณ  ์‹ ๋ขฐ์„ฑ์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋™์‹œ์— ์ดํ•ด๋ฅผ ์‹ฌํ™”ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ „๋ฌธ ๊ณผ์ • ๋ฐ ๋ฆฌ์†Œ์Šค ํ™œ์šฉ: ์˜จ๋ผ์ธ ๊ณผ์ •, ์ธ์ฆ, ํ•™์Šต ๊ฒฝ๋กœ๋ฅผ ํ™œ์šฉํ•˜์—ฌ Kotlin ๊ธฐ์ˆ ์„ ์ง€์†์ ์œผ๋กœ ๊ฐœ๋ฐœํ•˜์„ธ์š”. ์ด๋Ÿฌํ•œ ๋ฆฌ์†Œ์Šค๋Š” ์ตœ์‹  Kotlin ๋ฐœ์ „ ์‚ฌํ•ญ๊ณผ ๋ชจ๋ฒ” ์‚ฌ๋ก€๋ฅผ ์ตœ์‹  ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ง€์†์ ์œผ๋กœ Kotlin ๊ธฐ์ˆ ์„ ๊ฐœ๋ฐœํ•˜๊ณ  ๊ฐœ๋ฐœ์ž ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์ง€์†์ ์œผ๋กœ ์ฐธ์—ฌํ•˜๋ฉด Kotlin ์ „๋ฌธ๊ฐ€๊ฐ€ ๋˜์–ด ๋Š์ž„์—†์ด ์ง„ํ™”ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ์„ธ๊ณ„์—์„œ ๋‹ค์–‘ํ•œ ์ทจ์—… ๊ธฐํšŒ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Kotlin์˜ ๋ฏธ๋ž˜: ๋™ํ–ฅ๊ณผ ๊ธฐํšŒ

2024๋…„ ์ดํ›„์—๋Š” Kotlin์ด ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ์—…๊ณ„์— ํ›จ์”ฌ ๋” ํฐ ์˜ํ–ฅ์„ ๋ฏธ์น  ๊ฒƒ์ž…๋‹ˆ๋‹ค. Kotlin์„ ์ˆ˜์šฉํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋Š” ์ˆ˜๋งŽ์€ ๊ธฐํšŒ๋ฅผ ์ฐพ๊ณ  ์ตœ์‹  ํŠธ๋ Œ๋“œ์˜ ์„ ๋‘์— ์„ค ์ˆ˜ ์žˆ์„ ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์„น์…˜์—์„œ๋Š” ์ฃผ๋ชฉํ•ด์•ผ ํ•  ๋ช‡ ๊ฐ€์ง€ ์ฃผ์š” ๊ฐœ๋ฐœ ์‚ฌํ•ญ๊ณผ ์ด๋กœ ์ธํ•ด ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ž ์žฌ์ ์ธ ์ง์—…์  ์ด์ ์— ๋Œ€ํ•ด ๋…ผ์˜ํ•ฉ๋‹ˆ๋‹ค.

์„œ๋ฒ„์ธก ๊ฐœ๋ฐœ์˜ ์‚ฌ์šฉ๋Ÿ‰ ์ฆ๊ฐ€

Kotlin์€ ์ฃผ๋กœ Android ์•ฑ ๊ฐœ๋ฐœ ์— ์„ ํ˜ธ๋˜๋Š” ์–ธ์–ด๋กœ ์•Œ๋ ค์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ Java ์ƒํƒœ๊ณ„์™€์˜ ํ˜ธํ™˜์„ฑ, ๊ฐ•๋ ฅํ•œ ์–ธ์–ด ๊ธฐ๋Šฅ ๋ฐ ์ƒ์šฉ๊ตฌ ์ฝ”๋“œ ๊ฐ์†Œ ๋•๋ถ„์— ์„œ๋ฒ„ ์ธก ๊ฐœ๋ฐœ์—์„œ์˜ ์ฑ„ํƒ์ด ๋น ๋ฅด๊ฒŒ ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Kotlin์€ Ktor ์™€ ๊ฐ™์€ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๋Š” ๋ฐ ์ฑ„ํƒ๋˜์–ด ์„œ๋ฒ„ ์ธก ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฐ„์†Œํ™”๋˜๊ณ  ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ถ„์•ผ์—์„œ Kotlin์ด ๋„๋ฆฌ ๋ณด๊ธ‰๋จ์— ๋”ฐ๋ผ Kotlin์— ๋Šฅ์ˆ™ํ•œ ๊ฐœ๋ฐœ์ž๋Š” ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ ํ”„๋กœ์ ํŠธ์— ๋Œ€ํ•œ ์ˆ˜์š”๊ฐ€ ๋†’์•„์งˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋‹ค์ค‘ ํ”Œ๋žซํผ ์•ฑ ๊ฐœ๋ฐœ

KMM(Kotlin Multiplatform Mobile)์€ ๊ฐœ๋ฐœ์ž๊ฐ€ Android ๋ฐ iOS ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์šฉ ๊ณต์œ  ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•˜๊ธฐ ์œ„ํ•ด JetBrains์—์„œ ์ถœ์‹œํ•œ ๋น„๊ต์  ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. KMM์€ ๊ฐ ํ”Œ๋žซํผ์˜ ๊ธฐ๋ณธ ์„ฑ๋Šฅ๊ณผ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์œ ์ง€ํ•˜๋ฉด์„œ ์ฝ”๋“œ ๋ณต์ œ ๋ฐ ๊ฐœ๋ฐœ ์‹œ๊ฐ„์„ ํฌ๊ฒŒ ์ค„์ž…๋‹ˆ๋‹ค. KMM ์ƒํƒœ๊ณ„๊ฐ€ ์ง€์†์ ์œผ๋กœ ์„ฑ์ˆ™ํ•ด์ง์— ๋”ฐ๋ผ ์ด ๊ธฐ์ˆ ์„ ํ™œ์šฉํ•˜๋Š” Kotlin ๊ฐœ๋ฐœ์ž๋Š” ๋ฉ€ํ‹ฐ ํ”Œ๋žซํผ ์•ฑ ๊ฐœ๋ฐœ์˜ ์ตœ์ „์„ ์— ์„œ์„œ ๊ฒฝ๋ ฅ ์„ฑ์žฅ๊ณผ ์ˆ˜์ต์„ฑ ์žˆ๋Š” ์ง์—… ์ „๋ง์„ ์œ„ํ•œ ์ƒˆ๋กœ์šด ๋ฌธ์„ ์—ด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Kotlin/Native์˜ ์„ฑ์žฅ

Kotlin/Native๋Š” Kotlin ์ฝ”๋“œ๋ฅผ ๋„ค์ดํ‹ฐ๋ธŒ ๋ฐ”์ด๋„ˆ๋ฆฌ๋กœ ์ปดํŒŒ์ผํ•˜์—ฌ iOS, macOS, Linux, WebAssembly์™€ ๊ฐ™์€ JVM์ด ์•„๋‹Œ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ํ˜์‹ ์ ์ธ ๊ธฐ์ˆ ์ž…๋‹ˆ๋‹ค. ์•„์ง ์ดˆ๊ธฐ ๋‹จ๊ณ„์ด์ง€๋งŒ Kotlin/Native๋Š” ํฌ๋กœ์Šค ํ”Œ๋žซํผ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์„ ์œ„ํ•œ ๋‹ค์žฌ๋‹ค๋Šฅํ•˜๊ณ  ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋Š” ํฐ ์ž ์žฌ๋ ฅ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ถ”์„ธ๋ฅผ ์•ž์„œ๊ฐ€๋Š” Kotlin ๊ฐœ๋ฐœ์ž๋Š” Kotlin/Native๊ฐ€ ์ˆ˜๋…„์— ๊ฑธ์ณ ๊ฒฌ์ธ๋ ฅ์„ ์–ป๊ณ  ๋ฐœ์ „ํ•จ์— ๋”ฐ๋ผ ์ƒˆ๋กœ์šด ๊ธฐํšŒ๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ข‹์€ ์œ„์น˜์— ์žˆ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Kotlin ์ƒํƒœ๊ณ„์˜ ์ง€์†์ ์ธ ํ™•์žฅ

Kotlin์˜ ์ธ๊ธฐ๊ฐ€ ๊ณ„์† ๋†’์•„์ง์— ๋”ฐ๋ผ ์–ธ์–ด๋ฅผ ์ง€์›ํ•˜๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ํ”„๋ ˆ์ž„์›Œํฌ, ๋„๊ตฌ๋กœ ๊ตฌ์„ฑ๋œ ๋”์šฑ ํฌ๊ด„์ ์ด๊ณ  ๊ฐ•๋ ฅํ•œ ์ƒํƒœ๊ณ„๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์„ ๊ฒƒ์œผ๋กœ ๊ธฐ๋Œ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ํ™•์žฅ์„ ํ†ตํ•ด Kotlin ๊ฐœ๋ฐœ์ž๋Š” ์ •๊ตํ•œ ๊ณ ๊ธ‰ ์†Œํ”„ํŠธ์›จ์–ด ์†”๋ฃจ์…˜์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ๊ด‘๋ฒ”์œ„ํ•œ ๋ฆฌ์†Œ์Šค์™€ ๊ธฐ๋Šฅ์„ ์ œ๊ณต๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๊ฐœ๋ฐœ์— ๋Œ€ํ•œ ์ตœ์‹  ์ •๋ณด๋ฅผ ์œ ์ง€ํ•˜๊ณ  Kotlin ํ™˜๊ฒฝ์˜ ์ตœ์‹  ๋„๊ตฌ๋ฅผ ํƒ์ƒ‰ํ•˜๋ฉด ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋ณด๋‹ค ๊ฒฝ์Ÿ ์šฐ์œ„๋ฅผ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Kotlin ๊ฐœ๋ฐœ์ž์— ๋Œ€ํ•œ ์ˆ˜์š” ์ฆ๊ฐ€

๋‹ค์–‘ํ•œ ์—…๊ณ„์˜ ์Šคํƒ€ํŠธ์—…๊ณผ ๊ธฐ์กด ๊ธฐ์—… ๋ชจ๋‘์—์„œ Kotlin์ด ์ง€์†์ ์œผ๋กœ ์„ฑ์žฅํ•˜๊ณ  ์ฑ„ํƒ๋˜๋ฉด์„œ Kotlin ๊ฐœ๋ฐœ์ž์— ๋Œ€ํ•œ ์ˆ˜์š”๊ฐ€ ๊พธ์ค€ํžˆ ์ฆ๊ฐ€ํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค. Kotlin์— ๋Œ€ํ•œ ์ „๋ฌธ ์ง€์‹์„ ์–ป๊ณ  ์ตœ์‹  ๋™ํ–ฅ์„ ํŒŒ์•…ํ•˜๋ฉด ๊ฒฝ์Ÿ๋ ฅ ์žˆ๋Š” ๊ธ‰์—ฌ ํŒจํ‚ค์ง€๋ฅผ ํ†ตํ•ด ๋‹ค์–‘ํ•œ ์ทจ์—… ๊ธฐํšŒ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Kotlin ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž ๋˜๋Š” Android ๊ฐœ๋ฐœ์ž์™€ ๊ฐ™์€ ์ „๋ฌธ์ ์ธ ์—ญํ• ๊ณผ ํ’€ ์Šคํƒ ๊ฐœ๋ฐœ์ž์™€ ๊ฐ™์€ ๋ณด๋‹ค ์ผ๋ฐ˜์ ์ธ ์ง์œ„ ๋ชจ๋‘ Kotlin ์ „๋ฌธ ์ง€์‹์— ๋Œ€ํ•œ ์ˆ˜์š”๊ฐ€ ์ฆ๊ฐ€ํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์Šต๋‹ˆ๋‹ค.

๊ฒฐ๋ก ์ ์œผ๋กœ Kotlin์˜ ๋ฏธ๋ž˜๋Š” ๋ฐ์•„ ๋ณด์ด๋ฉฐ Kotlin์˜ ๋ณด๊ธ‰๋ฅ  ์ฆ๊ฐ€๋Š” ์–ธ์–ด๋ฅผ ๋ฐฐ์šฐ๊ณ  ์—…๊ณ„ ๋™ํ–ฅ์„ ์ตœ์‹  ์ƒํƒœ๋กœ ์œ ์ง€ํ•˜๋Š” ๋ฐ ํˆฌ์žํ•˜๋ ค๋Š” ๊ฐœ๋ฐœ์ž์—๊ฒŒ ํ’๋ถ€ํ•œ ๊ธฐํšŒ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. Kotlin ๊ฐœ๋…์„ ์ตํžˆ๊ณ  ์ตœ์ฒจ๋‹จ ๊ธฐ์ˆ ์„ ํƒ๊ตฌํ•จ์œผ๋กœ์จ ์ˆ˜์š”๊ฐ€ ๋งŽ์€ ๊ฐœ๋ฐœ์ž๋กœ ์ž๋ฆฌ๋งค๊น€ํ•˜๊ณ  ๋Š์ž„์—†์ด ์ง„ํ™”ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ์„ธ๊ณ„์—์„œ ์„ฑ๊ณต์ ์ธ ๊ฒฝ๋ ฅ์„ ๋ˆ„๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

Kotlin์€ ๋ฌด์—‡์ด๋ฉฐ ์™œ ์ค‘์š”ํ•œ๊ฐ€์š”?

Kotlin์€ JetBrains์—์„œ ๊ฐœ๋ฐœํ•œ ์ •์ ์ธ ์œ ํ˜•์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ž…๋‹ˆ๋‹ค. JVM(Java Virtual Machine)์—์„œ ์‹คํ–‰๋˜๋ฉฐ Java์™€ ์™„๋ฒฝํ•˜๊ฒŒ ์ƒํ˜ธ ์šด์šฉ๋ฉ๋‹ˆ๋‹ค. Kotlin์€ ๊ฐ„๊ฒฐํ•œ ๊ตฌ๋ฌธ, ๊ฐœ๋ฐœ์ž ์ƒ์‚ฐ์„ฑ์„ ํ–ฅ์ƒํ•˜๋Š” ๊ธฐ๋Šฅ, ๊ธฐ์กด Java ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ํ”„๋ ˆ์ž„์›Œํฌ์™€์˜ ํ˜ธํ™˜์„ฑ์œผ๋กœ ์ธ๊ธฐ๋ฅผ ์–ป๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Android ์•ฑ ๊ฐœ๋ฐœ์—์„œ ์ ์  ๋” ์„ ํ˜ธ๋˜๋Š” ์–ธ์–ด๊ฐ€ ๋˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

Kotlin์ด ๊ฐœ๋ฐœ์ž๋“ค ์‚ฌ์ด์—์„œ ์ธ๊ธฐ๋ฅผ ์–ป๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

Kotlin์€ ํ‘œํ˜„๋ ฅ, ์•ˆ์ „์„ฑ, Java์™€์˜ ์ƒํ˜ธ ์šด์šฉ์„ฑ์œผ๋กœ ์ธํ•ด ์ธ๊ธฐ๋ฅผ ์–ป๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒ์šฉ๊ตฌ ์ฝ”๋“œ๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ณ , ์ฝ”๋“œ ๊ฐ€๋…์„ฑ์„ ํ–ฅ์ƒ์‹œํ‚ค๋ฉฐ, ๋ฐ์ดํ„ฐ ํด๋ž˜์Šค ๋ฐ ํ™•์žฅ ๊ธฐ๋Šฅ๊ณผ ๊ฐ™์€ ์ตœ์‹  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ตฌ์„ฑ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋„ ์•ˆ์ „ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋ฏ€๋กœ ์ผ๋ฐ˜์ ์ธ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์˜ค๋ฅ˜๊ฐ€ ์ค„์–ด๋“ญ๋‹ˆ๋‹ค. ๋งŽ์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ธฐ์กด Java ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ํ”„๋ ˆ์ž„์›Œํฌ์™€์˜ ์›ํ™œํ•œ ํ†ตํ•ฉ์„ ๋†’์ด ํ‰๊ฐ€ํ•˜์—ฌ Java์—์„œ Kotlin์œผ๋กœ ์›ํ™œํ•˜๊ฒŒ ์ „ํ™˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Kotlin ๊ฐœ๋ฐœ์ž์—๊ฒŒ ํ•„์š”ํ•œ ํ•„์ˆ˜ ๊ธฐ์ˆ ์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

Kotlin ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋ ค๋ฉด Kotlin ๊ตฌ๋ฌธ, ์ฝ”๋ฃจํ‹ด, ํ™•์žฅ ํ•จ์ˆ˜, ๋ฐ์ดํ„ฐ ํด๋ž˜์Šค, ๋žŒ๋‹ค์— ๋Œ€ํ•ด ์ž˜ ์ดํ•ดํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. Android Studio, Android SDK, Android ์•ฑ ๊ฐœ๋ฐœ์— ๋Œ€ํ•œ ์ง€์‹์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ ๊ฒฝํ—˜, ๋ฐ˜์‘ํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ๊ณผ ๊ฐ™์€ ์ตœ์‹  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํŒจ๋Ÿฌ๋‹ค์ž„์— ๋Œ€ํ•œ ์ง€์‹, RESTful API ์ž‘์—…, Git ๋ฐ Gradle๊ณผ ๊ฐ™์€ ๋„๊ตฌ์— ๋Œ€ํ•œ ์ˆ™๋ จ๋„๊ฐ€ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค.

Kotlin ํ•™์Šต์„ ์œ„ํ•œ ์ธ๊ธฐ ์žˆ๋Š” ํ”Œ๋žซํผ๊ณผ ๋ฆฌ์†Œ์Šค๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

๊ณต์‹ Kotlin ๋ฌธ์„œ, Kotlin Koans, JetBrains Academy์˜ Kotlin ๊ฐœ๋ฐœ์ž ํŠธ๋ž™, Coursera, Udemy, YouTube ์ฑ„๋„, ์ˆ˜๋งŽ์€ ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ ๋ฐ ํŒŸ์บ์ŠคํŠธ ๋“ฑ Kotlin ํ•™์Šต์„ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ๊ณผ ๋ฆฌ์†Œ์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. Stack Overflow ๋ฐ GitHub์™€ ๊ฐ™์€ ํ”Œ๋žซํผ์—์„œ ์ˆ™๋ จ๋œ Kotlin ๊ฐœ๋ฐœ์ž๋กœ๋ถ€ํ„ฐ ๊ท€์ค‘ํ•œ ํ†ต์ฐฐ๋ ฅ์„ ์ฐพ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

Kotlin์€ AppMaster ํ”Œ๋žซํผ ๋‚ด์—์„œ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋‚˜์š”?

AppMaster ๋Š” ์›น, ๋ชจ๋ฐ”์ผ ๋ฐ ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ƒ์„ฑ์„ ๊ฐ„์†Œํ™”ํ•˜๋Š” no-code ํ”Œ๋žซํผ์ž…๋‹ˆ๋‹ค. ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฒฝ์šฐ ๊ณ ๊ฐ์€ AppMaster ์˜ ๋ชจ๋ฐ”์ผ BP ๋””์ž์ด๋„ˆ์—์„œ ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ์œผ๋กœ UI๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AppMaster Android ์•ฑ ๊ฐœ๋ฐœ์— Kotlin ๋ฐ Jetpack Compose ํ™œ์šฉํ•˜์—ฌ ๋งž์ถคํ˜• Kotlin ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์›ํ™œํ•˜๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  ๋ณด๋‹ค ํšจ์œจ์ ์ธ ์•ฑ ๊ตฌ์ถ•์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

Kotlin ๊ฐœ๋ฐœ์ž ํฌํŠธํด๋ฆฌ์˜ค๋ฅผ ๊ตฌ์ถ•ํ•˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?

Kotlin ๊ฐœ๋ฐœ์ž ํฌํŠธํด๋ฆฌ์˜ค๋ฅผ ๊ตฌ์ถ•ํ•˜๋ ค๋ฉด ๊ฐœ์ธ ํ”„๋กœ์ ํŠธ, ์˜คํ”ˆ ์†Œ์Šค ๊ธฐ์—ฌ ๋˜๋Š” ํ”„๋ฆฌ๋žœ์„œ ์ž‘์—…๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์„ธ์š”. Kotlin์„ ์‚ฌ์šฉํ•˜์—ฌ Android ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค๊ณ , Kotlin์„ ์ง€์›ํ•˜๋Š” ๋‹ค๋ฅธ ํ”Œ๋žซํผ์— ์ง€์‹์„ ์ ์šฉํ•˜๊ณ , GitHub์—์„œ ํ”„๋กœ์ ํŠธ๋ฅผ ์„ ๋ณด์ด์„ธ์š”. ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž์™€์˜ ๋„คํŠธ์›Œํ‚น, ํ•ด์ปคํ†ค ์ฐธ์—ฌ, ๊ธฐ์ˆ  ๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๋ฌผ ์ž‘์„ฑ ๋˜ํ•œ ๋…ธ์ถœ๊ณผ ์‹ ๋ขฐ๋ฅผ ์–ป๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

2023๋…„ Kotlin ๊ฐœ๋ฐœ์ž์˜ ์ง์—… ์ „๋ง๊ณผ ๊ธ‰์—ฌ ๊ธฐ๋Œ€์น˜๋Š” ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”?

Kotlin์ด ๋Œ€์ค‘ํ™”๋˜๋ฉด์„œ Kotlin ๊ฐœ๋ฐœ์ž์— ๋Œ€ํ•œ ์ˆ˜์š”๊ฐ€ ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ๊ธˆ์œต, ์˜๋ฃŒ, ์ „์ž์ƒ๊ฑฐ๋ž˜ ๋“ฑ ๋‹ค์–‘ํ•œ ์‚ฐ์—… ๋ถ„์•ผ์—์„œ ๊ธฐํšŒ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ง์œ„์—๋Š” Android ๊ฐœ๋ฐœ์ž, Kotlin ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž, ํ’€ ์Šคํƒ ๊ฐœ๋ฐœ์ž๊ฐ€ ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธ‰์—ฌ๋Š” ๊ฒฝํ—˜๊ณผ ์œ„์น˜์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€๋ฉฐ ํ‰๊ท  Kotlin ๊ฐœ๋ฐœ์ž ๊ธ‰์—ฌ๋Š” ์—ฐ๊ฐ„ $70,000์—์„œ $120,000 ์‚ฌ์ด์ž…๋‹ˆ๋‹ค.

Kotlin ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์ œ๊ณต๋˜๋Š” ์ธ์ฆ์ด ์žˆ๋‚˜์š”?

Kotlin ์ „์šฉ ์ธ์ฆ์€ ์—†์ง€๋งŒ Kotlin์„ ๊ฐœ๋ฐœํ•œ ํšŒ์‚ฌ์ธ JetBrains๋Š” ํฌ๊ด„์ ์ธ ์˜จ๋ผ์ธ ํ•™์Šต ํ”„๋กœ๊ทธ๋žจ์ธ JetBrains Academy Kotlin ๊ฐœ๋ฐœ์ž ํŠธ๋ž™์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœ๊ทธ๋žจ์„ ์™„๋ฃŒํ•˜๋ฉด ๊ธฐ์ˆ ์„ ํ–ฅ์ƒํ•˜๊ณ  Kotlin ์ „๋ฌธ์„ฑ์„ ์ž…์ฆํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Google์˜ Associate Android Developer ์ธ์ฆ์€ Kotlin์— ๊ตญํ•œ๋˜์ง€ ์•Š์ง€๋งŒ Kotlin ์ง€์‹์„ ํฌํ•จํ•˜์—ฌ Android ์•ฑ ๊ฐœ๋ฐœ์— ๋Œ€ํ•œ ์ˆ™๋ จ๋„๋ฅผ ์ž…์ฆํ•ฉ๋‹ˆ๋‹ค.

Kotlin ์ „๋ฌธ๊ฐ€๊ฐ€ ๋˜๋ ค๋ฉด ์–ด๋–ป๊ฒŒ ํ•ด์•ผ ํ•˜๋‚˜์š”?

Kotlin ์ „๋ฌธ๊ฐ€๊ฐ€ ๋˜๋ ค๋ฉด ๊พธ์ค€ํ•œ ์—ฐ์Šต, ์ตœ์‹  ์—…๊ณ„ ๋™ํ–ฅ ํŒŒ์•…, ๊ณ ๊ธ‰ Kotlin ๊ฐœ๋… ํƒ๊ตฌ, ์‹ค์ œ ํ”„๋กœ์ ํŠธ ์‹ค๋ฌด ๊ฒฝํ—˜์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. Kotlin ๋ฐ Android ๊ฐœ๋ฐœ ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์ฐธ์—ฌํ•˜๊ณ , ์›น ์„ธ๋ฏธ๋‚˜์— ์ฐธ์„ํ•˜๊ณ , ์˜ํ–ฅ๋ ฅ ์žˆ๋Š” Kotlin ๊ฐœ๋ฐœ์ž๋ฅผ ํŒ”๋กœ์šฐํ•˜์—ฌ ์ƒˆ๋กœ์šด ๊ฐœ๋ฐœ ๋ฐ ๋ชจ๋ฒ” ์‚ฌ๋ก€์— ๋Œ€ํ•œ ์ตœ์‹  ์ •๋ณด๋ฅผ ๋ฐ›์•„๋ณด์„ธ์š”.

Kotlin ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ๋ฏธ๋ž˜ ๋™ํ–ฅ๊ณผ ๊ธฐํšŒ๋Š” ๋ฌด์—‡์ธ๊ฐ€์š”?

Kotlin์˜ ํ–ฅํ›„ ์ถ”์„ธ์—๋Š” ์„œ๋ฒ„ ์ธก ๊ฐœ๋ฐœ์—์„œ์˜ ์‚ฌ์šฉ ์ฆ๊ฐ€, ๋‹ค์ค‘ ํ”Œ๋žซํผ ์•ฑ ๊ฐœ๋ฐœ, Kotlin/Native ํ”Œ๋žซํผ์˜ ์„ฑ์žฅ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. Kotlin์ด ์ง€์†์ ์œผ๋กœ ์ถ”์ง„๋ ฅ์„ ์–ป์œผ๋ฉด์„œ ์ƒˆ๋กœ์šด ํ”„๋กœ์ ํŠธ์— Kotlin์„ ์ฑ„ํƒํ•˜๊ณ  ๊ธฐ์กด Java ๊ธฐ๋ฐ˜ ํ”„๋กœ์ ํŠธ๋ฅผ Kotlin์œผ๋กœ ์ „ํ™˜ํ•˜๋Š” ๊ธฐ์—…์ด ๋Š˜์–ด๋‚˜๋ฉด์„œ Kotlin ๊ฐœ๋ฐœ์ž์— ๋Œ€ํ•œ ์ทจ์—… ๊ธฐํšŒ์™€ ์ˆ˜์š”๊ฐ€ ์ฆ๊ฐ€ํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค.

์‰ฌ์šด ์‹œ์ž‘
๋ฉ‹์ง„๋งŒ๋“ค๊ธฐ

๋ฌด๋ฃŒ ์š”๊ธˆ์ œ๋กœ AppMaster๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”.
์ค€๋น„๊ฐ€ ๋˜๋ฉด ์ ์ ˆํ•œ ๊ตฌ๋…์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๋‹ค
2024๋…„์— Kotlin ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋Š” ๋ฐฉ๋ฒ• | AppMaster