์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
BEST

์ž๋ฐ” ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ์ฝ”ํ‹€๋ฆฐ ์ž…๋ฌธ(Java to Kotlin Starter Guide)

์ด ๊ฐ•์˜๋ฅผ ํ†ตํ•ด Kotlin ์–ธ์–ด์˜ ํŠน์„ฑ๊ณผ ๋ฐฐ๊ฒฝ, ๋ฌธ๋ฒ•๊ณผ ๋™์ž‘ ์›๋ฆฌ, ์‚ฌ์šฉ ์šฉ๋ก€, Java์™€ Kotlin์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ๋•Œ์— ์ฃผ์˜ํ•  ์  ๋“ฑ์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Thumbnail

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

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

  • Kotlin์˜ ๊ธฐ์ดˆ์ ์ธ ๋ฌธ๋ฒ•, ๊ฐœ๋…์— ๋Œ€ํ•œ ๋“ฑ์žฅ ๋ฐฐ๊ฒฝ, ๋™์ž‘ ์›๋ฆฌ, ์‚ฌ์šฉ ์‚ฌ๋ก€

  • Kotlin๊ณผ Java๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ๋•Œ ์ฃผ์˜ํ•  ์ 

์š”์ฆ˜ ๋Œ€์„ธ์ธ ์ฝ”ํ‹€๋ฆฐ์„ ๊ณต๋ถ€ํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด?
โญ Java ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐฐ์šฐ๋Š” Kotlin โญ

์ด ๊ฐ•์˜๋Š” Java๊ฐ€ Kotlin์œผ๋กœ ๋ฐ”๋€ ๋ฐฐ๊ฒฝ๊ณผ ์›๋ฆฌ๋ฅผ ์ฃผ์ œ๋ณ„๋กœ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.

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


๋‹จ์ˆœํžˆ ์ฝ”ํ‹€๋ฆฐ ๋ฌธ๋ฒ•์„ ํ•˜๋‚˜์”ฉ ์„ค๋ช…ํ•˜๋Š” ๊ฐ•์˜๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

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


์ด๋Ÿฐ ๋ถ„๋“ค์—๊ฒŒ ์ถ”์ฒœ๋“œ๋ ค์š”!

๐Ÿ™‹โ€โ™€๏ธ Java๋ฅผ ๋ฐฐ์šด ์ ์ด ์žˆ์–ด์š”!

์ด ๊ฐ•์˜๋Š” Java๋ฅผ 6๊ฐœ์›”~1๋…„ ์ •๋„ ๋ฐฐ์›Œ๋ณด์‹  ๋ถ„๋“ค์„ ๋Œ€์ƒ์œผ๋กœ Kotlin์„ ์„ค๋ช…ํ•˜๋Š” ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
Java๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ, Kotlin์—์„œ ๋‹ฌ๋ผ์ง€๋Š” ๊ธฐ๋Šฅ์€ ๋ฌด์—‡์ธ์ง€, Kotlin์—์„œ ์ƒˆ๋กœ ์ƒ๊ธด ๊ธฐ๋Šฅ๊ณผ ๋ฌธ๋ฒ•์€ ์–ด๋–ค ๋ถˆํŽธํ•œ ์ ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•จ์ธ์ง€ ๋“ฑ์— ๋Œ€ํ•ด ๋‹ค๋ฃน๋‹ˆ๋‹ค.

๐Ÿ™‹โ€โ™€๏ธ Kotlin์„ ๋ฐฐ์›Œ๋ณด๊ณ  ์‹ถ์–ด์š”!

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


์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์›Œ๋ณผ ๊ฑฐ์˜ˆ์š”.

  • ์ฝ”ํ‹€๋ฆฐ ๊ธฐ์ดˆ ๋ฌธ๋ฒ•
  • ์ฝ”ํ‹€๋ฆฐ ์ฝ”๋“œ์˜ ๋™์ž‘ ์›๋ฆฌ
  • ์ฝ”ํ‹€๋ฆฐ ์–ธ์–ด๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋‹ค์–‘ํ•œ ํŒ
  • ์ž๋ฐ”์™€ ์ฝ”ํ‹€๋ฆฐ์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ๋•Œ ์ฃผ์˜ํ•  ์ 

Kotlin ํ•ต์‹ฌ ์ปค๋ฆฌํ˜๋Ÿผ,
Lecture ๋ฏธ๋ฆฌ๋ณด๊ธฐ

Lecture 0 (๋ฌด๋ฃŒ๊ฐ•์˜)

  • ์ฝ”ํ‹€๋ฆฐ์— ๋Œ€ํ•œ ๊ฐ€๋ฒผ์šด TMI 34๊ฐ€์ง€๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

Lecture 1 (๋ฌด๋ฃŒ๊ฐ•์˜)

  • ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ var, val ํ‚ค์›Œ๋“œ๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค.
  • primitive type์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•, nullable ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

Lecture 2

  • nullable ๋ณ€์ˆ˜๋ฅผ ํ™œ์šฉํ•˜๋Š” ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ
    • Safe Call, Elvis ์—ฐ์‚ฐ์ž, ๋„ ์•„๋‹˜ ๋‹จ์–ธ
  • Java์™€ ์ฝ”ํ‹€๋ฆฐ์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ๋•Œ null ํƒ€์ž…๊ณผ ๊ด€๋ จํ•ด ์ฃผ์˜ํ•  ์ ๊ณผ ๋Œ€์‘ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•

Lecture 3

  • ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ var, val ํ‚ค์›Œ๋“œ๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค.
  • primitive type์„ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•, nullable ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

Lecture 4

  • ์ฝ”ํ‹€๋ฆฐ์— ์กด์žฌํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์—ฐ์‚ฐ์ž์— ๋Œ€ํ•ด ๋‹ค๋ฃน๋‹ˆ๋‹ค.
  • ๊ฐ์ฒด๊ฐ„์˜ ๋น„๊ต, ๋™๋“ฑ์„ฑ๊ณผ ๋™์ผ์„ฑ, ์—ฐ์‚ฐ์ž ์˜ค๋ฒ„๋กœ๋”ฉ์˜ ๋™์ž‘์— ๋Œ€ํ•ด ๋‹ค๋ฃน๋‹ˆ๋‹ค.

Lecture 5

  • if๋ฌธ๊ณผ when๋ฌธ, expression๊ณผ statement์— ๋Œ€ํ•ด์„œ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

Lecture 6

  • for๋ฌธ๊ณผ while๋ฌธ, ์ฝ”ํ‹€๋ฆฐ์—์„œ ์ „ํ†ต์ ์ธ for๋ฌธ์„ ๋™์ž‘์‹œํ‚ค๋Š” ์›๋ฆฌ์ธ Progrssion์— ๋Œ€ํ•ด ๋‹ค๋ฃน๋‹ˆ๋‹ค.

Lecture 7

  • try catch finally ๊ตฌ๋ฌธ, checked exception๊ณผ unchecked exception์— ๋Œ€ํ•ด ๋‹ค๋ฃน๋‹ˆ๋‹ค.
  • JDK 7์—์„œ ์ถ”๊ฐ€๋œ try with resources์— ๋Œ€ํ•ด ๋‹ค๋ฃน๋‹ˆ๋‹ค.

Lecture 8

  • ์ฝ”ํ‹€๋ฆฐ์˜ ํ•จ์ˆ˜ ์„ ์–ธ ๋ฌธ๋ฒ•, default parameter, named argument ์— ๋Œ€ํ•ด ๋‹ค๋ฃน๋‹ˆ๋‹ค.
  • ๊ฐ€๋ณ€์ธ์ž ์„ ์–ธ ๋ฌธ๋ฒ•์— ๋Œ€ํ•ด ๋‹ค๋ฃน๋‹ˆ๋‹ค.

Lecture 9 (๋ฌด๋ฃŒ๊ฐ•์˜)

  • ํด๋ž˜์Šค์™€ ํ”„๋กœํผํ‹ฐ, ์ƒ์„ฑ์ž์™€ init block์— ๋Œ€ํ•ด ๋‹ค๋ฃน๋‹ˆ๋‹ค.
  • custom getter / setter์™€ backing field์— ๋Œ€ํ•ด ๋‹ค๋ฃน๋‹ˆ๋‹ค.

Lecture 10

  • ์ถ”์ƒ ํด๋ž˜์Šค์™€ ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•ด ๋‹ค๋ฃน๋‹ˆ๋‹ค.
  • ์ฝ”ํ‹€๋ฆฐ์—์„œ ์ƒ์†์„ ํ•  ๋•Œ ์ฃผ์˜ํ•  ์ ๊ณผ ๊ด€๋ จ ํ‚ค์›Œ๋“œ๋“ค์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

Lecture 11

  • ์ ‘๊ทผ ์ œ์–ด๋ฅผ ํ•˜๋Š” ๋ฐฉ๋ฒ• (public, protected, internal, private)์— ๋Œ€ํ•ด์„œ ๋‹ค๋ฃน๋‹ˆ๋‹ค.
  • ์ ‘๊ทผ ์ œ์–ด์˜ ์ฐจ์ด๋กœ ์ธํ•ด Java์™€ Kotlin์„ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ๋•Œ ์ฃผ์˜ํ•  ์ ์— ๋Œ€ํ•ด ๋‹ค๋ฃน๋‹ˆ๋‹ค.

Lecture 12

  • static ํ•จ์ˆ˜์™€ ๋ณ€์ˆ˜, ์‹ฑ๊ธ€ํ†ค, ์ต๋ช… ํด๋ž˜์Šค์— ๋Œ€ํ•ด์„œ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

Lecture 13

  • ์ค‘์ฒฉ ํด๋ž˜์Šค์˜ ์ข…๋ฅ˜์™€, ๋” ๋‚˜์€ ์ค‘์ฒฉ ํด๋ž˜์Šค ์ž‘์„ฑ ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.
  • ์ฝ”ํ‹€๋ฆฐ์—์„œ์˜ ์ค‘์ฒฉ ํด๋ž˜์Šค์™€ ๋‚ด๋ถ€ ํด๋ž˜์Šค๋ฅผ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

Lecture 14

  • Data Class, Enum Class, Sealed Class์™€ Sealed Interface์— ๋Œ€ํ•ด์„œ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

Lecture 15

  • ์ฝ”ํ‹€๋ฆฐ์—์„œ ๋ฐฐ์—ด๊ณผ ์ปฌ๋ ‰์…˜์˜ ์‚ฌ์šฉ๋ฒ•์„ ์„ค๋ช… ๋“œ๋ฆฝ๋‹ˆ๋‹ค.
  • ์ฝ”ํ‹€๋ฆฐ๊ณผ Java๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ๋•Œ ์ปฌ๋ ‰์…˜๊ณผ ๊ด€๋ จํ•ด ์ฃผ์˜ํ•  ์ ์— ๋Œ€ํ•ด ๋‹ค๋ฃน๋‹ˆ๋‹ค.

Lecture 16

  • ํ™•์žฅํ•จ์ˆ˜, infix ํ•จ์ˆ˜, inline ํ•จ์ˆ˜, ์ง€์—ญํ•จ์ˆ˜์— ๋Œ€ํ•ด ๋‹ค๋ฃน๋‹ˆ๋‹ค.

Lecture 17 (๋ฌด๋ฃŒ๊ฐ•์˜)

  • Java์—์„œ ๋žŒ๋‹ค๊ฐ€ ๋“ฑ์žฅํ•œ ์ด์œ ๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค.
  • ์ฝ”ํ‹€๋ฆฐ์—์„œ๋Š” ๋žŒ๋‹ค๋ฅผ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€, Java์™€ ๋‹ค๋ฅธ ์ ์€ ๋ฌด์—‡์ธ์ง€ ๋‹ค๋ฃน๋‹ˆ๋‹ค.
  • Closure๋ผ๋Š” ๊ฐœ๋…๊ณผ ํ•จ์ˆ˜์˜ ๋ฌธ๋ฒ•์„ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค.

Lecture 18

  • ์ฝ”ํ‹€๋ฆฐ์—์„œ ์ปฌ๋ ‰์…˜์„ ํ•จ์ˆ˜ํ˜•์œผ๋กœ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด ์œ ์šฉํ•œ API ๋“ค์„ ์ •๋ฆฌํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

Lecture 19

  • Type Alias์™€ import, ๊ตฌ์กฐ๋ถ„ํ•ด์™€ componentN ํ•จ์ˆ˜์— ๋Œ€ํ•ด ๋‹ค๋ฃน๋‹ˆ๋‹ค.
  • ์ฝ”ํ‹€๋ฆฐ์— ์กด์žฌํ•˜๋Š” Jump ๊ธฐ๋Šฅ๊ณผ Label ๊ธฐ๋Šฅ, method chaining์— ์‚ฌ์šฉ๋˜๋Š” takeIf์™€ takeUnless ํ•จ์ˆ˜์— ๋Œ€ํ•ด ๋‹ค๋ฃน๋‹ˆ๋‹ค.

Lecture 20

  • ์ฝ”ํ‹€๋ฆฐ์— ์กด์žฌํ•˜๋Š” 5๊ฐ€์ง€ scope function์— ๋Œ€ํ•ด ์ฐจ์ด์ ๊ณผ ์šฉ๋ก€๋ฅผ ๋‹ค๋ฃน๋‹ˆ๋‹ค.
  • scope function๊ณผ ๊ฐ€๋…์„ฑ์— ๋Œ€ํ•ด ํ•จ๊ป˜ ์ƒ๊ฐํ•ด๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ–์Šต๋‹ˆ๋‹ค.

์˜ˆ์ƒ ์งˆ๋ฌธ Q&A ๐Ÿ’ฌ

Q. Java๋ฅผ ๊ผญ ์•Œ์•„์•ผ ๊ฐ•์˜๋ฅผ ๋“ค์„ ์ˆ˜ ์žˆ๋‚˜์š”?

A. ๋„ค, ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค! ๋ณธ ๊ฐ•์˜๋Š” Java๋ฅผ 6๊ฐœ์›” ~ 1๋…„ ์ •๋„ ์‚ฌ์šฉํ•ด ๋ณด์…จ๊ณ  '์ฝ”ํ‹€๋ฆฐ์„ ๋ฐฐ์šฐ๊ณ ๋Š” ์‹ถ์ง€๋งŒ, ์–ธ์–ด ๊ธฐ์ดˆ ๊ฐ•์˜๋Š” ๋น„ํšจ์œจ์ ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜์‹œ๋Š” ๋ถ„๋“ค์„ ์œ„ํ•ด' ๊ธฐํš๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ฐ•์˜์—์„œ๋„ Java ์ฝ”๋“œ๋ฅผ ๋จผ์ € ๋ณด์—ฌ๋“œ๋ฆฌ๊ณ  ๊ทธ์— ๋Œ€์‘ํ•˜๋Š” Kotlin ์ฝ”๋“œ๋ฅผ ์†Œ๊ฐœํ•ด ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

Q. ์™œ Java๋ฅผ ์•Œ๊ณ  ์žˆ๋Š” ๋ถ„๋“ค์„ ๋Œ€์ƒ์œผ๋กœ ๊ธฐํš๋˜์—ˆ๋‚˜์š”?

A. ์ƒˆ๋กœ์šด ๊ฐœ๋…์„ ๋ฐฐ์šฐ๋Š” ๋ฐ ์žˆ์–ด, ๊ธฐ์กด์— ์•Œ๊ณ  ์žˆ๋Š” ๊ฐœ๋…๊ณผ ๋น„๊ต/๋Œ€์‘ํ•ด๊ฐ€๋ฉด ํšจ๊ณผ์ ์ธ ํ•™์Šต์„ ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ, ์ œ๊ฐ€ Java๋งŒ ์•Œ๋˜ ์ƒํ™ฉ์—์„œ Kotlin์„ ์‚ฌ์šฉํ•˜๋Š” ํšŒ์‚ฌ๋กœ ์ด์งํ•˜๋ฉฐ ๋А๊ผˆ๋˜ ์–ด๋ ค์›€์„ ํ•ด์†Œํ•ด ์ค„ ์ปจํ…์ธ ๊ฐ€ ์žˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์„ ํ•˜์—ฌ ๊ธฐํšํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

Q. ์ˆ˜์—… ๋‚ด์šฉ์„ ์–ด๋А ์ˆ˜์ค€๊นŒ์ง€ ๋‹ค๋ฃจ๋‚˜์š”?

A. ์ˆ˜์—…์„ ๋‹ค ๋“ฃ๊ณ  ๋‚˜์‹œ๋ฉด, Kotlin์„ ์ด์šฉํ•ด 95% ์ด์ƒ์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ํ•˜์‹ค ์ˆ˜ ์žˆ๊ฒŒ ๋˜์‹ญ๋‹ˆ๋‹ค. ์‹ฌํ™” ๋‚ด์šฉ์— ํ•ด๋‹น๋˜๋Š” ๋ฆฌํ”Œ๋ ‰์…˜, DSL, ์ง€์—ฐ ์—ฐ์‚ฐ๊ณผ ์œ„์ž„, ์ œ๋„ค๋ฆญ ๋“ฑ์€ ์ถ”ํ›„ ๊ธฐํšŒ๊ฐ€ ๋œ๋‹ค๋ฉด ๋‹ค๋ฃจ์–ด๋ณผ ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.

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

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

  • ์‹ค๋ฌด์—์„œ Java๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”๋ฐ, Kotlin์€ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€ ๋น ๋ฅด๊ฒŒ ๋ฐฐ์›Œ๋ณด๊ณ  ์‹ถ์€ ๋ถ„

  • ์ƒˆ๋กœ์šด ์–ธ์–ด๋ฅผ ๋ฐฐ์šฐ๋Š” ๊ฒƒ์— ํฅ๋ฏธ๋ฅผ ๋А๋ผ์‹œ๋Š” ๋ถ„

  • Kotlin์— ๋Œ€ํ•œ ์ดํ•ด๋„๋ฅผ ๋†’์ด๊ณ  ์‹ถ์€ ๋ถ„

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

  • Java ์–ธ์–ด

  • ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์— ๋Œ€ํ•œ ์•ฝ๊ฐ„์˜ ์ดํ•ด๋„

์•ˆ๋…•ํ•˜์„ธ์š”
์ตœํƒœํ˜„์ž…๋‹ˆ๋‹ค.

9,400

๋ช…

์ˆ˜๊ฐ•์ƒ

592

๊ฐœ

์ˆ˜๊ฐ•ํ‰

725

๊ฐœ

๋‹ต๋ณ€

5.0

์ 

๊ฐ•์˜ ํ‰์ 

6

๊ฐœ

๊ฐ•์˜

์•ˆ๋…•ํ•˜์„ธ์š” ๐Ÿ˜Š

์ œ๊ฐ€ ์•„๋Š” ๋‚ด์šฉ์„ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ณ , ์žฌ๋ฏธ์žˆ๊ฒŒ ์„ค๋ช…๋“œ๋ ค ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์„ฑ์žฅํ•˜์‹ค ๋•Œ ํ–‰๋ณตํ•จ์„ ๋А๋ผ๋Š” ๊ฐœ๋ฐœ์ž ์ตœํƒœํ˜„์ž…๋‹ˆ๋‹ค.

 

  • (ํ˜„) ์บ์น˜ํ…Œ์ด๋ธ”[์™€๋“œ] ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด

  • (์ „) ์Šคํƒ€ํŠธ์—… ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด ๋ฆฌ๋“œ

  • (์ „) ๋ฐฐ๋‹ฌ์˜๋ฏผ์กฑ[์šฐ์•„ํ•œํ˜•์ œ๋“ค] ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด

  • (๊ต์œกํ™œ๋™) Next Step ๋ฆฌ๋ทฐ์–ด ๋‹ค์ˆ˜ ์ฐธ์—ฌ, ๊ณต๊ธฐ๊ด€ & ์Šคํƒ€ํŠธ์—… ๊ฒฝ์ง„๋Œ€ํšŒ ๊ฐ•์‚ฌ ๋ฐ ๋ฉ˜ํ† , ์ŠคํŒŒ๋ฅดํƒ€ ์ฝ”๋”ฉํด๋Ÿฝ ๋ฉ˜ํ† 

  • ํ•œ๊ตญ๊ณผํ•™๊ธฐ์ˆ ์› (KAIST) ์กธ์—…

 

๋”๋ณด๊ธฐ

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

์ „์ฒด

24๊ฐœ โˆ™ (5์‹œ๊ฐ„ 13๋ถ„)

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

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

์ˆ˜๊ฐ•ํ‰

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