Kotlin ์ด๋ž€

2023. 3. 3. 06:03ยทLanguages/Kotlin

Kotlin์€ ๊ฐ„๊ฒฐํ•˜๊ณ  ์•ˆ์ „ํ•˜๋ฉฐ ์œ ์ง€ ๊ด€๋ฆฌ ๊ฐ€๋Šฅํ•œ ์ฝ”๋“œ๋ฅผ ๋” ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ์ตœ์‹  ์˜คํ”ˆ ์†Œ์Šค ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์ž…๋‹ˆ๋‹ค. ๋‹ค์Œ์€ Kotlin์˜ ๊ฐ€์žฅ ์œ ์šฉํ•œ ๊ธฐ๋Šฅ ์ค‘ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค.

  1. Null ์•ˆ์ „์„ฑ: Kotlin์—๋Š” ์ปดํŒŒ์ผ ํƒ€์ž„์— null ํฌ์ธํ„ฐ ์˜ˆ์™ธ๋ฅผ ๋ฐฉ์ง€ํ•˜๋Š” ๊ฐ•๋ ฅํ•œ ์œ ํ˜• ์‹œ์Šคํ…œ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜ ์—†์ด null ๊ฐ’์„ ์‰ฝ๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” nullable ํ˜•์‹ ์‹œ์Šคํ…œ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ์ฝ”๋“œ์˜ ์•ˆ์ „์„ฑ๊ณผ ์‹ ๋ขฐ์„ฑ์„ ๊ฐœ์„ ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.
  2. ํ™•์žฅ ํ•จ์ˆ˜: Kotlin์˜ ํ™•์žฅ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐœ๋ฐœ์ž๊ฐ€ ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ์•Š๊ณ ๋„ ๊ธฐ์กด ํด๋ž˜์Šค์— ์ƒˆ ํ•จ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ๋” ๊ฐ„๊ฒฐํ•˜๊ณ  ์ฝ๊ธฐ ์‰ฌ์šด ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ์ฝ”๋“œ ์ค‘๋ณต์„ ์ค„์ด๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  3. ๋ฐ์ดํ„ฐ ํด๋ž˜์Šค: Kotlin์˜ ๋ฐ์ดํ„ฐ ํด๋ž˜์Šค๋Š” ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•˜๋Š” ๊ฐ„๊ฒฐํ•œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ. ๋ฐ์ดํ„ฐ ํด๋ž˜์Šค๋Š” ํ•ด๋‹น ์†์„ฑ์„ ๊ธฐ๋ฐ˜์œผ๋กœ equals(), hashCode() ๋ฐ toString()๊ณผ ๊ฐ™์€ ์œ ์šฉํ•œ ๋ฉ”์„œ๋“œ๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ƒ์šฉ๊ตฌ ์ฝ”๋“œ๋ฅผ ์ค„์ด๊ณ  ์ฝ”๋“œ๋ฅผ ๋” ๊ฐ„๊ฒฐํ•˜๊ณ  ์ฝ๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  4. ์ฝ”๋ฃจํ‹ด: Kotlin์€ ๋น„๋™๊ธฐ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ๋Ÿ‰ ์Šค๋ ˆ๋“œ์ธ ์ฝ”๋ฃจํ‹ด์„ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. . ์ฝ”๋ฃจํ‹ด์€ ์ฝ๊ณ  ์œ ์ง€ํ•˜๊ธฐ ์‰ฌ์šด ๋น„๋™๊ธฐ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋น„์ฐจ๋‹จ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฐ„๋‹จํ•˜๊ณ  ํšจ์œจ์ ์ธ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  5. Java์™€์˜ ์ƒํ˜ธ ์šด์šฉ์„ฑ: Kotlin์€ Java์™€ ์ƒํ˜ธ ์šด์šฉ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, Kotlin ์ฝ”๋“œ๋Š” Java ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ๋ฐ˜๋Œ€. ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ธฐ์กด Java ํ”„๋กœ์ ํŠธ๋ฅผ Kotlin์œผ๋กœ ์‰ฝ๊ฒŒ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  6. ์Šค๋งˆํŠธ ์บ์ŠคํŠธ: Kotlin์—๋Š” ์Šค๋งˆํŠธ ์บ์ŠคํŠธ๋ผ๋Š” ๊ธฐ๋Šฅ์ด ์žˆ์–ด ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ž๋™์œผ๋กœ ๋ณ€์ˆ˜๋ฅผ ๋ณด๋‹ค ๊ตฌ์ฒด์ ์ธ ๋ณ€์ˆ˜๋กœ ์บ์ŠคํŠธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์œ ํ˜• ๊ฒ€์‚ฌ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์œ ํ˜•. ์ด ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋ฉด ๊ฐ„๊ฒฐํ•˜๊ณ  ์•ˆ์ „ํ•œ ์ฝ”๋“œ๋ฅผ ๋” ์‰ฝ๊ฒŒ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  7. Lambda ํ‘œํ˜„์‹: Kotlin์€ ์ต๋ช… ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜๋Š” ๊ฐ„๊ฒฐํ•œ ๋ฐฉ๋ฒ•์ธ ๋žŒ๋‹ค ํ‘œํ˜„์‹์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธฐ๋Šฅ์€ ์ƒ์šฉ๊ตฌ ์ฝ”๋“œ๋ฅผ ์ค„์ด๊ณ  ์ฝ”๋“œ๋ฅผ ๋” ๊ฐ„๊ฒฐํ•˜๊ณ  ์ฝ๊ธฐ ์‰ฝ๊ฒŒ ๋งŒ๋“œ๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

 

๋‹ค์Œ์€ Kotlin ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ์ œ๊ณตํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ์œ ์šฉํ•œ ๊ธฐ๋Šฅ์ž…๋‹ˆ๋‹ค.

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

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

 

Sealed Classes:

sealed class Result<T>
class Success<T>(val data: T) : Result<T>()
class Error<T>(val message: String) : Result<T>()

fun <T> processResult(result: Result<T>) {
    when (result) {
        is Success -> {
            println("Data: ${result.data}")
        }
        is Error -> {
            println("Error: ${result.message}")
        }
    }
}

Extension Functions:

fun String.capitalizeWords(): String {
    return split(" ").joinToString(" ") { it.capitalize() }
}

val str = "kotlin is awesome"
val capitalized = str.capitalizeWords()
println(capitalized) // "Kotlin Is Awesome"

Standard Functions:

val list = listOf(1, 2, 3, 4, 5)
val even = list.filter { it % 2 == 0 }
val sum = list.fold(0) { acc, value -> acc + value }

println(even) // [2, 4]
println(sum) // 15

Ranges:

val range = 1..5
val grid = range.flatMap { i -> range.map { j -> i to j } }

grid.forEach { (x, y) -> println("($x, $y)") }
// (1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (2, 1), (2, 2), (2, 3), (2, 4), (2, 5), (3, 1), (3, 2), (3, 3), (3, 4), (3, 5), (4, 1), (4, 2), (4, 3), (4, 4), (4, 5), (5, 1), (5, 2), (5, 3), (5, 4), (5, 5)

Collections:

val map = mapOf("a" to 1, "b" to 2, "c" to 3)

val doubled = map.mapValues { (_, value) -> value * 2 }
val sum = map.values.sum()

println(doubled) // {a=2, b=4, c=6}
println(sum) // 6

Coroutines:

suspend fun loadData() = withContext(Dispatchers.IO) {
    // Perform network request or other long-running operation
}

fun main() {
    GlobalScope.launch {
        val result = loadData()
        // Process result on main thread
    }
}

 

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

 

 

 

728x90
'Languages/Kotlin' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • Kotlin sealed class ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž
  • Kotlin K2 ๋ชจ๋“œ์™€ K1์˜ ์ฐจ์ด์  ๋ฐ ์žฅ๋‹จ์  ๋ถ„์„
  • [kotlin]let ์—ฌ๋Ÿฌ๊ฐœ ์ฒดํฌํ•˜๊ธฐ
  • [Kotlin] java static method ์ฝ”ํ‹€๋ฆฐ ๋ฌธ๋ฒ•
์ง€๋‹ˆ๐Ÿงž‍โ™‚๏ธ๐Ÿฅญ
์ง€๋‹ˆ๐Ÿงž‍โ™‚๏ธ๐Ÿฅญ
์ผ์ƒ, ๊ฒŒ์ž„, ๋ง›์ง‘, ์—ฌํ–‰, ๊ฐœ๋ฐœ, IT ๋ธ”๋กœ๊ทธ๐Ÿงž
  • ์ง€๋‹ˆ๐Ÿงž‍โ™‚๏ธ๐Ÿฅญ
    ์š”์ˆ  ๋žจํ”„๐Ÿซ–
    ์ง€๋‹ˆ๐Ÿงž‍โ™‚๏ธ๐Ÿฅญ
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • All (549)
      • Languages (57)
        • JAVA (13)
        • JSP (1)
        • C_C++ (4)
        • Html (3)
        • CSS (1)
        • JavaScript (18)
        • Python (3)
        • Kotlin (13)
        • TypeScript (1)
      • Framework (14)
        • spring (11)
        • jstl (1)
        • angular (2)
      • Tool (28)
        • Eclipse (5)
        • vsCode (3)
        • scrcpy (2)
        • Git (1)
        • IntelliJ (6)
        • Visual-studio (1)
        • UML (1)
        • Gradle (8)
      • DB (6)
        • Oracle (1)
        • MySql (3)
        • Mongo (2)
      • OS (14)
        • Linux (2)
        • Windows (12)
      • Server (8)
        • Tomcat (1)
        • Apache (1)
        • Node.js (6)
      • Programmings (25)
        • Design Pattern (2)
        • Funny (20)
        • Algorithms (3)
      • Cloud (8)
        • Docker (1)
        • Kubernetes (4)
        • Istio (1)
        • ArgoCD (2)
      • IT (5)
        • gRPC (3)
        • RESTful (3)
        • Web UI (5)
        • AI (4)
      • Book (6)
      • TIP (187)
      • Life (53)
      • Game (83)
      • Storage (22)
      • ์‹๋‹น (15)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
    • ์‚ฌ์ดํŠธ๋งต
    • RSS
    • ๊ธฐํƒ€ ์†Œ๋“
  • ๋งํฌ

    • ๊ตฌ๊ธ€
    • ๋„ค์ด๋ฒ„
    • ์ •๋ถ€24
    • Spring Framework ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ
    • Kotlin ๋ฆด๋ฆฌ์ฆˆ ๋…ธํŠธ
    • ์นด์นด์˜ค ์• ๋“œํ•
    • ๋ธ”๋กœ๊ทธ ์‚ฌ์ดํŠธ๋งต
    • ๋ธ”๋กœ๊ทธ RSS
  • ๊ณต์ง€์‚ฌํ•ญ

    • ์•ˆ๋…•ํ•˜์„ธ์š”
  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ๋‰ด์Šค
    ํ€˜์ŠคํŠธ
    ๋ธŒ๋ฆฌํ•‘
    ํƒœ๊ตญ
    ๋ฐ์ผ๋ฆฌ ๋‰ด์Šค
    ๋ชฌ์Šคํ„ฐํ—Œํ„ฐ์™€์ผ์ฆˆ
    ๋‰ด์Šค ๋ธŒ๋ฆฌํ•‘
    ๋ชฌ์Šคํ„ฐํ—Œํ„ฐ๋‚˜์šฐ
    ์˜ค๋Š˜์˜๋‰ด์Šค
    ํ•œ๋ˆˆ์— ๋ณด๋Š” ์˜ค๋Š˜์˜ ๋‰ด์Šค
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
์ง€๋‹ˆ๐Ÿงž‍โ™‚๏ธ๐Ÿฅญ
Kotlin ์ด๋ž€
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”