์ฝ”ํ‹€๋ฆฐ Kotlin

์ž๋ฐ”๋ณด๋‹ค ๋ญ๊ฐ€ ๋” ๋‚˜์€๊ฐ€?

  • Nullable
    • NullSafety๋ฅผ ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋‹ค.
  • ๋ชจ๋“  ํƒ€์ž…์ด ํด๋ž˜์Šค ํƒ€์ž…
    • Nullable์„ ์œ„ํ•ด ๊ธฐ๋ณธํ˜• ํƒ€์ž…๋„ ํด๋ž˜์Šค๋‹ค.
  • Functional Programing
    • OOP, FP ๋ชจ๋‘ ์ง€์›
    • ํ•จ์ˆ˜๊ฐ€ 1๊ธ‰ ๊ฐ์ฒด
    • ๊ณ ์ฐจ ํ•จ์ˆ˜๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
  • ํƒ€์ž… ์ถ”๋ก  (์‚ฌ์‹ค ๋‚œ ์„ ํ˜ธํ•˜์ง„ ์•Š๋Š”๋‹ค.)

Kotlin extension

https://kotlinlang.org/docs/extensions.html

Kotlin์€ ํด๋ž˜์Šค์—์„œ ์ƒ์†ํ•˜๊ฑฐ๋‚˜ Decorator์™€ ๊ฐ™์€ ๋””์ž์ธ ํŒจํ„ด์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ ๋„ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์œผ๋กœ ํด๋ž˜์Šค๋‚˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ™•์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ Extension์ด๋ผ๋Š” ํŠน๋ณ„ํ•œ ์„ ์–ธ์„ ํ†ตํ•ด ์ด๋ฃจ์–ด์ง„๋‹ค.
์˜ˆ๋ฅผ ๋“ค์–ด, ์ˆ˜์ •ํ•  ์ˆ˜ ์—†๋Š” ํƒ€์‚ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์—์„œ ํด๋ž˜์Šค๋‚˜ ์ธํ„ฐํŽ˜์ด์Šค์— ๋Œ€ํ•œ ์ƒˆ๋กœ์šด ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ•จ์ˆ˜๋Š” ์›๋ž˜ ํด๋ž˜์Šค์˜ ๋ฉ”์„œ๋“œ์ธ ๊ฒƒ์ฒ˜๋Ÿผ ์ผ๋ฐ˜์ ์ธ ๋ฐฉ์‹์œผ๋กœ ํ˜ธ์ถœ๋  ์ˆ˜ ์žˆ๋‹ค. ์ด ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ extension function์ด๋ผ๊ณ  ๋ถˆ๋ฆฐ๋‹ค. ๊ธฐ์กด ํด๋ž˜์Šค์— ๋Œ€ํ•œ ์ƒˆ ์†์„ฑ์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ๋Š” extension property ๋“ค๋„ ์žˆ๋‹ค.

https://medium.com/til-kotlin-ko/kotlin์˜-extension์€-์–ด๋–ป๊ฒŒ-๋™์ž‘ํ•˜๋Š”๊ฐ€-part-1-7badafa7524a