Inflearn brand logo image
Inflearn brand logo image
์ฑ„๋„ํ†ก ์•„์ด์ฝ˜

[์ดˆ๊ธ‰] ์ฐข์–ด๋จน์ž! ์ฝ”ํ‹€๋ฆฐ์˜ ๋ชจ๋“  ๊ฒƒ

์ดˆ์‹ฌ์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ๋งŒ ์•Œ์•„๋„ ์ฝ”ํ‹€๋ฆฐ ๊ฐœ๋ฐœ ๋ฌธ์ œ ์—†์Šต๋‹ˆ๋‹ค.

Thumbnail

์ดˆ๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”

  • Kotlin ๊ธฐ๋ณธ ๋ฌธ๋ฒ•

  • Kotlin fuction๊ณผ class

  • ์ปฌ๋ ‰์…˜๊ณผ ๋žŒ๋‹ค์˜ ํŠน์ง•๊ณผ ์‚ฌ์šฉ๋ฒ•

  • Kotlin์—์„œ์˜ Generics

  • Kotlin์—์„œ์˜ Exception ์ฒ˜๋ฆฌ

  • ๊ณ ์ฐจํ•จ์ˆ˜์™€ ๋ฒ”์œ„ํ•จ์ˆ˜ ๊ทธ๋ฆฌ๊ณ  ์œ„์ž„ํŒจํ„ด

๋ฏธ๋ž˜๋ฅผ ์ฃผ๋„ํ•  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด Kotlin
์ด ๊ฐ•์˜์™€ ํ•จ๊ป˜ ๋ฏธ๋ฆฌ ์ค€๋น„ํ•˜์„ธ์š”.


JetBrains๊ฐ€ ๊ฐœ๋ฐœํ•œ Kotlin์€ ํ˜„๋Œ€ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์„ ์œ„ํ•œ

๊ฐ€์žฅ ์ธ๊ธฐ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ์ค‘ ํ•˜๋‚˜๋กœ ๋น ๋ฅด๊ฒŒ ์„ฑ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ฐ„๊ฒฐํ•˜๊ณ  ํ‘œํ˜„๋ ฅ์ด ํ’๋ถ€ํ•˜๋ฉฐ Java์™€ ์™„๋ฒฝํ•˜๊ฒŒ ์ƒํ˜ธ ์šด์šฉ๋˜๋„๋ก ์„ค๊ณ„๋œ Kotlin์€

๊ฐ•๋ ฅํ•˜๊ณ  ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•˜๊ธฐ ์œ„ํ•œ ์ˆ˜๋งŽ์€ ์ด์ ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.



Kotlin Multiplatform์„ ์‚ฌ์šฉํ•˜๋ฉด

๋‹ค์–‘ํ•œ ํ”Œ๋žซํผ์šฉ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค๊ณ  ๋„ค์ดํ‹ฐ๋ธŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ์ด์ ์„ ์œ ์ง€ํ•˜๋ฉด์„œ

ํ”Œ๋žซํผ ์ „์ฒด์—์„œ ์ฝ”๋“œ๋ฅผ ํšจ์œจ์ ์œผ๋กœ ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์ค‘ ํ”Œ๋žซํผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ iOS, Android, macOS, Windows, Linux ๋“ฑ๊ณผ ๊ฐ™์€

๋‹ค์–‘ํ•œ ์šด์˜ ์ฒด์ œ์—์„œ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.



Kotlin์€ ํ–ฅ์ƒ๋œ ์ƒ์‚ฐ์„ฑ ๋ฐ ์ฝ”๋“œ ์•ˆ์ •์„ฑ๋ถ€ํ„ฐ ๊ธฐ์กด ํ”„๋กœ์ ํŠธ์™€์˜ ์›ํ™œํ•œ ํ†ตํ•ฉ๊นŒ์ง€

๋‹ค์–‘ํ•œ ์žฅ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ€๋…์„ฑ์ด ์ข‹์•„ ํ˜„์‹œ๋Œ€์˜ ๋งŽ์€ ๋ฏธ์…˜์„ ํšจ๊ณผ์ ์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•˜๋Š” ์–ธ์–ด์ž…๋‹ˆ๋‹ค.

ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ™˜๊ฒฝ์ด ๋ฐœ์ „ํ•จ์— ๋”ฐ๋ผ Kotlin์€ ์‹ค์šฉ์ฃผ์˜์™€ ํ˜์‹ ์„ ๊ฒฐํ•ฉํ•œ ์–ธ์–ด๋กœ ์šฐ๋š ์†Ÿ์•„

์ „ ์„ธ๊ณ„ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์—†์–ด์„œ๋Š” ์•ˆ ๋  ๋„๊ตฌ๊ฐ€ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ฝ”ํ‹€๋ฆฐ ๊ฐ•์˜ ์ด๊ฒƒ ํ•˜๋‚˜๋กœ ๋๋‚ด์„ธ์š”.


์„น์…˜ 1. ๊ธฐ๋ณธ ๋ฌธ๋ฒ• ์•Œ์•„๋ณด๊ธฐ

๋ณ€์ˆ˜ ์„ ์–ธ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ 
์ฝ”ํ‹€๋ฆฐ์—์„œ null์„ ์–ด๋–ค ์‹์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š”์ง€,
๋ฐ˜๋ณต๋ฌธ๊ณผ ๋ถ„๊ธฐ๋ฌธ์€ ์–ด๋–ป๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š”์ง€๋ฅผ
์•Œ์•„๋ด…๋‹ˆ๋‹ค.

์„น์…˜ 2. ํ•จ์ˆ˜์™€ ํด๋ž˜์Šค ์•Œ์•„๋ณด๊ธฐ

ํ•จ์ˆ˜์™€ ํด๋ž˜์Šค๋Š” ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์•Œ์•„๋ณด๊ณ 
๋‹ค์–‘ํ•œ ํ•จ์ˆ˜์™€ ํด๋ž˜์Šค๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด
์•Œ์•„๋ด…๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์‹ฑ๊ธ€ํ†ค ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜๋Š”
์˜ค๋ธŒ์ ํŠธ๋ผ๋Š” ๊ฒƒ์— ๋Œ€ํ•ด์„œ๋„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.



์„น์…˜ 3. ์ปฌ๋ ‰์…˜๊ณผ ๋žŒ๋‹ค ์•Œ์•„๋ณด๊ธฐ

์ฝ”ํ‹€๋ฆฐ ์ปฌ๋ ‰์…˜ 3์ธ๋ฐฉ
List, Set, Map์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ ,
๋žŒ๋‹ค๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ปฌ๋ ‰์…˜๋“ค์„ ์–ด๋–ป๊ฒŒ ์ปจํŠธ๋กคํ•˜๋Š”์ง€
์•Œ์•„๋ด…๋‹ˆ๋‹ค.

์„น์…˜ 4. ์ฝ”ํ‹€๋ฆฐ์˜ ํŠน์ง• ์•Œ์•„๋ณด๊ธฐ

์ฝ”ํ‹€๋ฆฐ์—์„œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ ,
์ดˆ์‹ฌ์ž์—์„œ ๋ ˆ๋ฒจ ์—…์„ ํ•˜๊ธฐ ์œ„ํ•ด ์•Œ์•„์•ผ ํ•˜๋Š”
์ œ๋„ค๋ฆญ, ๊ณ ์ฐจํ•จ์ˆ˜, ๋ฒ”์œ„ํ•จ์ˆ˜, ์œ„์ž„์— ๋Œ€ํ•ด
์•Œ์•„๋ด…๋‹ˆ๋‹ค.


์ˆ˜๊ฐ• ์ „ ์ฐธ๊ณ  ์‚ฌํ•ญ

  • ๊ฐ•์˜ ์ „์— IntelliJ IDEA Community Edition ์„ค์น˜ ํ›„ kotlin ํ”„๋กœ์ ํŠธ ํ•˜๋‚˜๋ฅผ ์ƒ์„ฑํ•ด ์ฃผ์„ธ์š”.

  • ๊ฐ•์˜๋Š” ํ”„๋กœ๊ทธ๋žจ ์„ค์น˜ ๋ฐ ํ”„๋กœ์ ํŠธ ์ƒ์„ฑ์€ ๋˜์–ด์žˆ๋Š” ์ƒํƒœ๋กœ ์ฝ”ํ‹€๋ฆฐ ๋‚ด์šฉ์„ ๋ฐ”๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

์‹ค์Šต ํ™˜๊ฒฝ

  • ์šด์˜ ์ฒด์ œ : macOS, Windows


  • ์–ธ์–ด : Kotlin 1.9.20 (Java Version 17)


  • Tool : IntelliJ IDEA Community Edition

ํ•™์Šต ์ž๋ฃŒ

  • ์„น์…˜ 0 ๊ฐ•์˜ ์†Œ๊ฐœ์— ์žˆ๋Š” "0.2. ๊ฐ•์˜ ์ž๋ฃŒ"์— ์ž๋ฃŒ ์˜ฌ๋ ค๋’€์Šต๋‹ˆ๋‹ค.

์„ ์ˆ˜ ์ง€์‹ ๋ฐ ์œ ์˜์‚ฌํ•ญ

  • ์–ด๋–ค ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋กœ๋“  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•ด๋ณธ ๊ฒฝํ—˜์ด ์žˆ์œผ์‹œ๋‹ค๋ฉด ์ข‹์•„์š”.

  • ์„ ์ˆ˜ ์ง€์‹์€ ์—†๊ณ  ๋ณด์‹œ๋‹ค๊ฐ€ ๋ชจ๋ฅด์‹œ๋Š” ๋ถ€๋ถ„์ด ์žˆ์–ด๋„ ๋’ค์—์„œ ๋‹ค์‹œ ์–ธ๊ธ‰๋  ์˜ˆ์ •์ด๋‹ˆ
    ๊ฐ•์˜๋ฅผ ๋๊นŒ์ง€ ๋ณด์‹œ๋ฉด ์ดํ•ด๊ฐ€ ๋˜์‹ค ๊ฑฐ์˜ˆ์š”.


  • ๋ณด์‹œ๋‹ค๊ฐ€ ๊ถ๊ธˆํ•˜์‹  ์  ์žˆ์œผ์‹œ๋ฉด ์งˆ๋ฌธ ๋‚จ๊ฒจ์ฃผ์‹œ๋ฉด ๋น ๋ฅด๊ฒŒ ๋‹ต๋ณ€๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค.

  • ๊ฐ•์˜ ์ž๋ฃŒ๋Š” ํ•ด๋‹น ๊ฐ•์˜๋ฅผ ์ˆ˜๊ฐ•ํ•˜์‹œ๋Š” ๋ถ„๋“ค์—๊ฒŒ๋งŒ ์ œ๊ณต๋˜๋Š” ๊ฒƒ์ด๋‹ˆ ๊ณต์œ ๋Š” ์ž์ œ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”!

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • Kotlin ๊ณต๋ถ€๋ฅผ ํฌ๋งํ•˜์‹œ๋Š” ๋ถ„

  • Kotlin ๋ฌธ๋ฒ• ํ•œ๋ฐฉ์— ๋๋‚ด๊ณ  ์‹ถ์œผ์‹  ๋ถ„

  • Spring + Java๋งŒ ํ•˜์…จ๋‹ค๊ฐ€ ์ด๋ฒˆ์— ์ฝ”ํ”„๋ง์œผ๋กœ ๋„˜์–ด๊ฐ€๊ณ  ์‹ถ์œผ์‹  ๋ถ„

์„ ์ˆ˜ ์ง€์‹,
ํ•„์š”ํ• ๊นŒ์š”?

  • ์–ด๋–ค ์–ธ์–ด๋กœ๋“  ํ”„๋กœ๊ทธ๋ž˜๋ฐ ํ•ด๋ณด๊ธฐ

์•ˆ๋…•ํ•˜์„ธ์š”
๊น€๋Œ€๋””์ž…๋‹ˆ๋‹ค.

3,628

๋ช…

์ˆ˜๊ฐ•์ƒ

74

๊ฐœ

์ˆ˜๊ฐ•ํ‰

16

๊ฐœ

๋‹ต๋ณ€

4.9

์ 

๊ฐ•์˜ ํ‰์ 

3

๊ฐœ

๊ฐ•์˜

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

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

24๊ฐœ โˆ™ (6์‹œ๊ฐ„ 20๋ถ„)

ํ•ด๋‹น ๊ฐ•์˜์—์„œ ์ œ๊ณต:

์ˆ˜์—…์ž๋ฃŒ
๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์•„์ง ์ถฉ๋ถ„ํ•œ ํ‰๊ฐ€๋ฅผ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
๋ชจ๋‘์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ์ˆ˜๊ฐ•ํ‰์˜ ์ฃผ์ธ๊ณต์ด ๋˜์–ด์ฃผ์„ธ์š”!