๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
studies/Back-end

[Kotlin] ์ฝ”ํ‹€๋ฆฐ ์Šค์ฝ”ํ”„ ํ•จ์ˆ˜ ์ •๋ฆฌ

by Vada Kim 2022. 1. 19.
728x90
๋ฐ˜์‘ํ˜•

Scope ํ•จ์ˆ˜

  • apply
    • ์ฃผ๋กœ ๊ฐ์ฒด ์ž์‹ ์„ ์ดˆ๊ธฐํ™”ํ•˜๊ฑฐ๋‚˜ ์ž์‹ ์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•œ๋‹ค.
    • ๊ฐ์ฒด ์ž์‹ ์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ฐธ์กฐ์—†์ด ๊ณง๋ฐ”๋กœ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋ฐ˜ํ™˜ ๊ฐ์ฒด๋„ ์ž๊ธฐ ์ž์‹ ์ด๋‹ค.
  • run
    • ์ฃผ๋กœ ์ดˆ๊ธฐํ™”๊ฐ€ ์™„๋ฃŒ๋œ ๊ฐ์ฒด์— ์‚ฌ์šฉํ•œ๋‹ค.
    • ๊ฐ์ฒด ์ž์‹ ์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ฐธ์กฐ์—†์ด ๊ณง๋ฐ”๋กœ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋งˆ์ง€๋ง‰ ๊ตฌ๋ฌธ์„ ๋ฌด์กฐ๊ฑด ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  • with
    • ๋‹ค๋ฅธ ์Šค์ฝ”ํ”„ ํ•จ์ˆ˜์™„ ๋‹ฌ๋ฆฌ ํ™•์žฅํ•จ์ˆ˜์˜ ๋ชจ์Šต์€ ์•„๋‹ˆ๋‚˜ ํ™•์žฅํ•จ์ˆ˜์ฒ˜๋Ÿผ ๋™์ž‘ํ•œ๋‹ค.
      ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๊ฐ์ฒด๋ฅผ ๋ฐ›์œผ๋ฉด ๋‚ด๋ถ€์—์„œ ํ•ด๋‹น ๊ฐ์ฒด์˜ ํ”„๋กœํผํ‹ฐ๋ฅผ ์ฐธ์กฐ์—†์ด ๊ณง๋ฐ”๋กœ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
      runํ•จ์ˆ˜์™€ ๋™์ผํ•˜๊ฒŒ ๋งˆ์ง€๋ง‰ ๊ตฌ๋ฌธ์„ ๋ฌด์กฐ๊ฑด ๋ฐ˜ํ™˜ํ•œ๋‹ค.
  • also
    • ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ it์„ ํ†ตํ•ด ๊ฐ์ฒด ์ž๊ธฐ ์ž์‹ ์„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋ฐ˜ํ™˜ ๊ฐ์ฒด๋Š” ์ž๊ธฐ ์ž์‹ ์ด๋‹ค.
  • let
    • ํ•จ์ˆ˜ ๋‚ด๋ถ€์—์„œ it์„ ํ†ตํ•ด ๊ฐ์ฒด ์ž์‹ ์„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‹ค.
    • ๊ฐ์ฒด ์ž์‹ ์ด null์ด ์•„๋‹Œ ๊ฒฝ์šฐ์—๋งŒ ๋งˆ์ง€๋ง‰ ๊ตฌ๋ฌธ์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
    • ์‚ฌ์šฉ ์˜ˆ์‹œ
๋ณ€์ˆ˜?.let {  } ?: (๋ณ€์ˆ˜๊ฐ€ null์ด๋ผ letํ•จ์ˆ˜๊ฐ€ ์‹คํ–‰๋˜์ง€ ์•Š์€ ๊ฒฝ์šฐ ์‹คํ–‰๋˜๋Š” ๊ตฌ๋ฌธ)
728x90
๋ฐ˜์‘ํ˜•