Objectmapper: ์ƒ์ˆ˜ ์†์„ฑ ์ •์˜(let)

์— ๋งŒ๋“  2016๋…„ 01์›” 08์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: tristanhimmelman/ObjectMapper

์•ˆ๋…•ํ•˜์„ธ์š”.

Java์—์„œ ๊ฐ์ฒด๋ฅผ ๋งคํ•‘ํ•˜๊ธฐ ์œ„ํ•ด Gson์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. Gson์„ ์‚ฌ์šฉํ•˜๋ฉด ์ฃผ์–ด์ง„ ํด๋ž˜์Šค์— ๋Œ€ํ•ด ์ƒ์ˆ˜ ๊ฐ’(์ตœ์ข…)์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ObjectMapper๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ฃ ?

ObjectMapper๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ "let"์œผ๋กœ ์ƒ์ˆ˜ ์†์„ฑ์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์‚ฌ์‹ค์€ ์–ธ์–ด Swift ์ž์ฒด์™€ ์ผ์ข…์˜ ์ œํ•œ ์‚ฌํ•ญ๊ณผ ๊ด€๋ จ์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜์ง€๋งŒ ์ •ํ™•ํ•œ ์ด์œ ๋Š” ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๋Œ€๋‹ค์ˆ˜์ธ ObjectMapper๋กœ ๋งคํ•‘๋œ ํด๋ž˜์Šค์—์„œ ๋‚ด ์‹œ์Šคํ…œ์˜ ๋ณ€๊ฒฝ ๊ฐ€๋Šฅ์„ฑ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์€ ์ •๋ง ์‹ค๋ง์Šค๋Ÿฝ์Šต๋‹ˆ๋‹ค!

๊ทธ๊ฑด ๊ทธ๋ ‡๊ณ ,์ด ํ›Œ๋ฅญํ•œ ๋„์„œ๊ด€์— ๊ฐ์‚ฌ๋“œ๋ฆฝ๋‹ˆ๋‹ค ;)

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

+1: let ์†์„ฑ์„ ์ง€์›ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ช‡ ๊ฐ€์ง€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • var ์„ ์–ธ์— private (set) ์ ‘๋‘์‚ฌ๋ฅผ ๋ถ™์ž…๋‹ˆ๋‹ค.
  • ์ฐธ์กฐ ์˜๋ฏธ ์ฒด๊ณ„( class ) ๋Œ€์‹  ๊ฐ’ ์˜๋ฏธ ์ฒด๊ณ„( struct )๊ฐ€ ์žˆ๋Š” ์œ ํ˜•์„ ์‚ฌ์šฉํ•˜๊ณ  let ์†์„ฑ์— ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ฐ”๋žŒ์งํ•˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋Š” ๋ช‡ ๊ฐ€์ง€ ๋ถ€์ž‘์šฉ์ด ์žˆ์Œ์„ ์œ ์˜ํ•˜์‹ญ์‹œ์˜ค.

๋ชจ๋“  3 ๋Œ“๊ธ€

๋‹จ์ˆœํ•จ์„ ์œ„ํ•ด ๋‹น๋ถ„๊ฐ„ ObjectMapper์—์„œ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ์œ ํ˜•์„ ์ง€์›ํ•˜์ง€ ์•Š๊ธฐ๋กœ ์„ ํƒํ–ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ์— ์ด๋ฅผ ์ง€์›ํ•˜๋Š” ์‹คํ—˜ ์ฝ”๋“œ๊ฐ€ ์žˆ์ง€๋งŒ ์™„์ „ํžˆ ํ…Œ์ŠคํŠธ๋˜์ง€ ์•Š์•˜์œผ๋ฉฐ ํ˜„์žฌ ์‚ฌ์šฉ์„ ๊ถŒ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ถˆ๋ณ€ ์œ ํ˜•์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ ์ด๋ฅผ ์ง€์›ํ•˜๋Š” Argo์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ํ”„๋กœ์ ํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

+1: let ์†์„ฑ์„ ์ง€์›ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋ช‡ ๊ฐ€์ง€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • var ์„ ์–ธ์— private (set) ์ ‘๋‘์‚ฌ๋ฅผ ๋ถ™์ž…๋‹ˆ๋‹ค.
  • ์ฐธ์กฐ ์˜๋ฏธ ์ฒด๊ณ„( class ) ๋Œ€์‹  ๊ฐ’ ์˜๋ฏธ ์ฒด๊ณ„( struct )๊ฐ€ ์žˆ๋Š” ์œ ํ˜•์„ ์‚ฌ์šฉํ•˜๊ณ  let ์†์„ฑ์— ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ฐ”๋žŒ์งํ•˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋Š” ๋ช‡ ๊ฐ€์ง€ ๋ถ€์ž‘์šฉ์ด ์žˆ์Œ์„ ์œ ์˜ํ•˜์‹ญ์‹œ์˜ค.

@frankus ๋ฐฉ๊ธˆ #383์— ๋Œ€ํ•œ ๋ฌธ์ œ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰

๊ด€๋ จ ๋ฌธ์ œ

maksTheAwesome picture maksTheAwesome  ยท  4์ฝ”๋ฉ˜ํŠธ

borut-t picture borut-t  ยท  4์ฝ”๋ฉ˜ํŠธ

delbyze picture delbyze  ยท  3์ฝ”๋ฉ˜ํŠธ

nearspears picture nearspears  ยท  4์ฝ”๋ฉ˜ํŠธ

Dbigshooter picture Dbigshooter  ยท  4์ฝ”๋ฉ˜ํŠธ