[Android TIL] 240312
๋ฐ˜์‘ํ˜•

 

 

 

 

~ Today I Learned ~

 

โœ”๏ธ ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด (์ฝœ๋ผ์ธ  ์ถ”์ธก)
โœ”๏ธ Kotlin ๋ฌธ๋ฒ• ์ข…ํ•ฉ๋ฐ˜ ์ˆ˜๊ฐ• 3์ฃผ์ฐจ, 4์ฃผ์ฐจ

X๊ณ„ํš์‹คํŒจX ๊ณ„์‚ฐ๊ธฐ ๊ณผ์ œ ๋‹ค์‹œ ์ž‘์„ฑ ๋ฐ git ์—…๋กœ๋“œ
X๊ณ„ํš์‹คํŒจX ํ‚ค์˜ค์Šคํฌ ๊ณผ์ œ ์‹œ์ž‘

 

 

 

 


 

 

 

 

1. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ’€์ด (์ฝœ๋ผ์ธ  ์ถ”์ธก)

 

 

[Kotlin] ์ฝœ๋ผ์ธ  ์ถ”์ธก (ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜)

๋ฌธ์ œ https://school.programmers.co.kr/learn/courses/30/lessons/12943 ์ ‘๊ทผ while๋ฌธ์•ˆ์— if๋ฅผ ๋ถ„๊ธฐ์‹œ์ผœ 500๋ฒˆ๊นŒ์ง€ ๋ฐ˜๋ณต์‹œํ‚ค๊ณ , 500๋ฒˆ ์•ˆ์—์„œ return ๊ฐ’ ์ถœ๋ ฅ, ๋ฐ–์—์„œ -1 ์ถœ๋ ฅ ์ฒ˜์Œ ๊ตฌ์ƒํ•œ ๋ฐฉ์‹์€ ๋ณ„ ๋‹ค๋ฅธ ๊ณ ๋ฏผ ์—†์ด ์•„๋ž˜

limheejin.tistory.com

  • ๋ฌธ์ œ๋ฅผ ํ’€๋ฉฐ, ์—ฐ์‚ฐ ์ค‘ Intํ˜•์ด ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„๋ฅผ ์ƒ๊ฐํ•˜๊ณ  ํ˜• ๋ณ€ํ™˜์„ ํ•˜๋Š” ์ผ์— ๋งŽ์ด ์ต์ˆ™ํ•ด์กŒ๋‹ค.
  • tailrec์ด๋ผ๋Š” ๊ผฌ๋ฆฌ์žฌ๊ท€ํ•จ์ˆ˜๋ฅผ ์ด์šฉํ•œ ํ’€์ด๊ฐ€ ํฅ๋ฏธ๋กœ์› ๋‹ค.
    ์žฌ๊ท€ ํ˜ธ์ถœ์„ ํ•จ์ˆ˜์˜ ๋งˆ์ง€๋ง‰ ์—ฐ์‚ฐ์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” tail-recursive ๋ฐฉ์‹์ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

 

2. Kotlin ๋ฌธ๋ฒ• ์ข…ํ•ฉ๋ฐ˜ ์ˆ˜๊ฐ• 3์ฃผ์ฐจ, 4์ฃผ์ฐจ

 

3์ฃผ์ฐจ

  • ๋ฉ”์†Œ๋“œ ์„ค๊ณ„
  • ํด๋ž˜์Šค ์„ค๊ณ„
  • ์ƒ์„ฑ์ž์˜ ํ™œ์šฉ (init, constrctor)
  • ๊ฐ์ฒด์˜ ํ™œ์šฉ
  • ์ƒ์† (open)
  • ์˜ค๋ฒ„๋ผ์ด๋”ฉ (๋ถ€๋ชจ๋กœ๋ถ€ํ„ฐ ์ƒ์†)
  • ์˜ค๋ฒ„๋กœ๋”ฉ (๊ฐ™์€ ์ด๋ฆ„, ๋‹ค๋ฅธ ๋งค๊ฐœ๋ณ€์ˆ˜)
  • ์ธํ„ฐํŽ˜์ด์Šค (์ถ”์ƒ ํด๋ž˜์Šค)

 

4์ฃผ์ฐจ

  • ์ ‘๊ทผ ์ œํ•œ์ž (private, public, internal, protected)
  • ์˜ˆ์™ธ ์ฒ˜๋ฆฌ (try, catch, throw, finally)
  • ์ง€์—ฐ ์ดˆ๊ธฐํ™” (lateinit,lazy)
  • Null Safety (?, !!, ?., ?:)
  • ๋ฐฐ์—ด (Array)
  • ์ปฌ๋ ‰์…˜(list, map, set)
  • ๋žŒ๋‹ค์‹ (single-expression function)

 

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

 

 


~ Retrospect ~

 

 

์˜ค๋Š˜์€ ๋ถ€ํŠธ์บ ํ”„ ์‹œ์ž‘ ํ›„ ์ฒ˜์Œ์œผ๋กœ ์•ผ์™ธ์—์„œ ๊ณต๋ถ€๋ฅผ ํ•œ ๋‚ ์ธ๋ฐ, ํšจ์œจ์ด ๋งค์šฐx10000 ์ข‹์ง€ ๋ชปํ–ˆ๋‹ค. ์›ฌ๋งŒํ•ด์„  ์ง‘์—์„œ ๊ณต๋ถ€ํ•˜๊ณ , ์ž์ฃผ ์šด๋™์„ ๋‚˜๊ฐ€๋Š” ๊ฒŒ ์ข‹์„ ๊ฒƒ ๊ฐ™๋‹ค.

 

 

 

 

๋ฐ˜์‘ํ˜•
 ๐Ÿ’ฌ C O M M E N T