๊ด€๋ฆฌ ๋ฉ”๋‰ด

Welcome! Everything is fine.

[Kotlin] ์ฝ”ํ‹€๋ฆฐ์—์„œ Null์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”? ๋ณธ๋ฌธ

Kotlin

[Kotlin] ์ฝ”ํ‹€๋ฆฐ์—์„œ Null์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

๊ฐœ๋ฐœ๊ณฐ๋ฐœ 2024. 11. 9.
728x90

๐Ÿ’ญ ๋ฉด์ ‘์—์„œ ๋ฐ›์€ ์งˆ๋ฌธ์„ ๊ฐ„๋‹จํžˆ ํฌ์ŠคํŒ…ํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

 

๋ฉด์ ‘์—์„œ ๋ฐ›์€ ์งˆ๋ฌธ์„ ์ƒ๊ฐ๋‚ ๋•Œ๋งˆ๋‹ค ์ •๋ฆฌํ•ด๋‘๋ ค๊ณ  ํ•œ๋‹ค. Null์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ์ฝ”ํ‹€๋ฆฐ์—์„œ ์•„์ฃผ ๊ธฐ์ดˆ์ ์ธ ๋‚ด์šฉ์ด๋ผ ์ด๋ฏธ ๋ฐฐ์› ๊ณ , ์‹ฌ์ง€์–ด ์ด ๋ธ”๋กœ๊ทธ์— ๋‚ด๊ฐ€ ๊ฐ•์˜๋ฅผ ๋“ค์œผ๋ฉฐ ์ •๋ฆฌํ•œ ํฌ์ŠคํŒ…๋„ ์žˆ์ง€๋งŒ(...) ์•„์ฃผ ์กฐ๋ฆฌ์žˆ๊ฒŒ ๋งํ•˜์ง„ ๋ชปํ–ˆ๋‹ค. ์ฒซ ๋ฉด์ ‘ ๊ฒฝํ—˜ ํ›„ ๋จธ๋ฆฌ๋กœ ์•„๋Š” ๊ฒƒ๊ณผ ๋ง๋กœ ๋‚ด๋ฑ‰๋Š” ๊ฑด ์ •๋ง ํฐ ์ฐจ์ด๊ฐ€ ์žˆ๋‹ค๊ณ  ๋Š๊ผˆ๋‹ค. ํ•˜๋ฃจ 10๋ถ„์ด๋ผ๋„ ๋งํ•˜๋Š” ์—ฐ์Šต์„ ํ•˜์ž..๐Ÿ˜‚

 

Q. ์ฝ”ํ‹€๋ฆฐ์—์„œ Null์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•์€ ๋ฌด์—‡์ธ๊ฐ€์š”?

A. ์ฝ”ํ‹€๋ฆฐ์—์„œ๋Š” ์–ธ์–ด ์ž์ฒด์—์„œ Null ์•ˆ์ •์„ฑ์„ ์ง€์›ํ•ด์„œ NullPointerException์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ณ€์ˆ˜์— ๋ฌผ์Œํ‘œ(?)๋ฅผ ๋ถ™์—ฌ์„œ Null์„ ํ—ˆ์šฉํ• ์ง€ ๊ฒฐ์ •ํ•˜๊ณ , Safe Call(?.) ์—ฐ์‚ฐ์ž๋กœ ๊ฐ์ฒด๊ฐ€ Null์ผ ๋•Œ ์•ˆ์ „ํ•˜๊ฒŒ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜, Elvis ์—ฐ์‚ฐ์ž(?:)๋ฅผ ์‚ฌ์šฉํ•ด์„œ Null์ผ ๊ฒฝ์šฐ ๊ธฐ๋ณธ๊ฐ’์„ ์ง€์ •ํ•˜๊ณ  ๋Š๋‚Œํ‘œ ๋Š๋‚Œํ‘œ ์—ฐ์‚ฐ์ž(!!)๋กœ Null์ด ์•„๋‹˜์„ ๋‹จ์–ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

 

๊ฐ„๋‹จํ•˜๊ฒŒ ์•„๋ž˜ 4๊ฐ€์ง€ ๊ธฐ์–ตํ•˜๊ธฐ! ์ž…์— ๋ถ™์„ ์ˆ˜ ์žˆ๋„๋ก ๊ฐ ์—ฐ์‚ฐ์ž๋ฅผ ๋ถ€๋ฅด๋Š” ๋ช…์นญ์„ ๊ทธ๋Œ€๋กœ ์จ๋ดค๋‹ค.

  • ๋ฌผ์Œํ‘œ ์—ฐ์‚ฐ์ž
  • Safe Call ์—ฐ์‚ฐ์ž
  • Elvis ์—ฐ์‚ฐ์ž
  • ๋Š๋‚Œํ‘œ ๋Š๋‚Œํ‘œ ์—ฐ์‚ฐ์ž

โฌ‡๏ธ ๋” ์ž์„ธํ•œ ์ •๋ฆฌโฌ‡๏ธ ์ฝ”ํ‹€๋ฆฐ ๊ฐ•์˜๋„ ๋ด์•ผํ•˜๋Š”๋ฐ ์ž๋ฐ” ๊ฐ•์˜๋„ ์‚ฐ๋”๋ฏธ๋ผ ํž˜๋“ค๋‹ค..๊ทธ๋ž˜๋„ ํ™”์ดํŒ…! ๐Ÿ˜Š

 

[Kotlin] 2๊ฐ•. ์ฝ”ํ‹€๋ฆฐ์—์„œ null์„ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ•

* ์ธํ”„๋Ÿฐ ๊ฐ•์˜ - ์ž๋ฐ” ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ์ฝ”ํ‹€๋ฆฐ ์ž…๋ฌธ(Java to Kotlin Starter Guide)์„ ๋“ฃ๊ณ  ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๐Ÿ”—1๊ฐ• ๋‚ด์šฉ [Kotlin] 1๊ฐ•. ์ฝ”ํ‹€๋ฆฐ์—์„œ ๋ณ€์ˆ˜๋ฅผ ๋‹ค๋ฃจ๋Š” ๋ฐฉ๋ฒ• * ์ธํ”„๋Ÿฐ ๊ฐ•์˜ - ์ž๋ฐ” ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ

3uomlkh.tistory.com