Lombok: ๊ธฐ์—ฌ์ž๊ฐ€ ๋กฌ๋ณต์„ ์‹œ์ž‘ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

์— ๋งŒ๋“  2018๋…„ 04์›” 16์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: projectlombok/lombok

์•ˆ๋…•ํ•˜์„ธ์š”. ๋จผ์ € Java ๊ฐœ๋ฐœ์„ ๊ฒฌ๋”œ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ €๋Š” lombok์— ๊ธฐ์—ฌํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค(#1207 ์ฐธ์กฐ). ์ฒซ ๋ฒˆ์งธ ๋ชฉํ‘œ๋Š” ์ฒดํฌ์•„์›ƒํ•˜๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋‚˜๋Š” ์ฒดํฌ ์•„์›ƒํ•˜๊ณ  ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • ant -projecthelp
  • ant setupJavaOracle8TestEnvironment - ๋งŽ์€ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

    • src/core9

    • build.xml <ivy:compile destdir="build/lombok" source="1.9" target="1.9"> ๋Š” setupJavaOracle8TestEnvironment ๋งŒ ์‹คํ–‰ํ•ด๋„ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

  • ์ž ์‹œ ์ „ํˆฌ๋ฅผ ํ•œ ํ›„ ๋…ธํŠธ๋ถ(macbook 2016)์— JDK9 ์„ค์น˜๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • JDK9 ์„ค์น˜ ํ›„ ant setupJavaOracle8TestEnvironment ์ž‘๋™
  • ๊ทธ๋Ÿฐ ๋‹ค์Œ ant dist ๋ฅผ ์‹คํ–‰ํ•˜๋ฉด ๋งŽ์€ ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค.
  • ๊ทธ๋Ÿฐ ๋‹ค์Œ ์–ธ์  ๊ฐ€๋Š” IDE์—์„œ ์„ค์ •ํ•˜๋ ค๊ณ ํ•ฉ๋‹ˆ๋‹ค.

Lombok์—์„œ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์„ ์„ค์ •ํ•˜๋Š” ๋ฐ ์ฃผ๋ง์„ ๋ณด๋‚ธ ํ›„ ์ฃ„์†กํ•ฉ๋‹ˆ๋‹ค. ๋‚ด๊ฐ€ ๋ญ”๊ฐ€๋ฅผ ์•„์ฃผ ์ž˜๋ชปํ•˜๊ณ  ์žˆ๋Š” ์ค‘์ด๋ผ๋ฉด, ์—ฌ๊ธฐ์„œ ๋ฌด์—‡์ด ์ž˜๋ชป๋˜๊ณ  ์žˆ๋Š”์ง€์— ๋Œ€ํ•ด ์—ฌ๋Ÿฌ๋ถ„์˜ ๋„์›€์„ ๋ฐ›๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ๋˜๋Š” ๋ชจ๋“  PR์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์‰ฌ์šด ํ…Œ์ŠคํŠธ ํ™˜๊ฒฝ(์—…๋ฐ์ดํŠธ ๋นŒ๋“œ ์Šคํฌ๋ฆฝํŠธ ๋˜๋Š” ๋ฌธ์„œ)๊ณผ CI(Travis CI?) ์„ค์ •์— ๊ธฐ์—ฌํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ์ƒ๊ฐํ•ด? :)

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

@rzwitserloot ์‚ฌ์‹ค "ํญ์–ธ"ํ•˜๋ ค๋Š” ์˜๋„๊ฐ€ ์•„๋‹ˆ ant -projecthelp ์ธ์‡„ํ•œ ๋ฌธ์„œ์— ๋”ฐ๋ผ CLI์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ํ™•์ธํ•˜๊ณ  ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค . ๋นŒ๋“œ์Šคํฌ๋ฆฝํŠธ (?) ์Šค๋Ÿฝ๋‹ค๋Š” ๊ฒƒ์„ ๋งํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

@victorws ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ํƒœ๊ทธ๊ฐ€ ์žˆ๋Š” ๋ฆด๋ฆฌ์Šค๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋งˆ์Šคํ„ฐ์—์„œ ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํŒจํ•ด๋„ ๊ดœ์ฐฎ์€์ง€ ๋ชฐ๋ž๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜๊ธฐ ์œ„ํ•ด ๋งŽ์€ ์‹œ๊ฐ„์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค. lombok๊ณผ ๊ฐ™์€ ๋ณต์žกํ•œ ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ ํ…Œ์ŠคํŠธ ์‹คํŒจ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ์‹œ์ž‘ํ•˜๊ณ  ์‹ถ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ ๋ณ€๊ฒฝ์„ ์‹œ์ž‘ํ•  ๋•Œ ์‹คํŒจํ•œ ํ…Œ์ŠคํŠธ๊ฐ€ ์ด์ „ ๋˜๋Š” ์ดํ›„์— ์ค‘๋‹จ๋˜์—ˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ์•Œ ์ˆ˜ ์—†๊ณ  "๋‹ค์Œ์— ์ปดํŒŒ์ผ๋ฉ๋‹ˆ๋‹ค. ๋‚ด ๊ธฐ๊ณ„" ๋ฌธ์ œ. ๋”ฐ๋ผ์„œ ๋‚˜๋Š” ์—ฌ์ „ํžˆ ํƒœ๊ทธ๊ฐ€ ์žˆ๋Š” ๋ฆด๋ฆฌ์Šค๋ฅผ ํ†ต๊ณผํ•˜๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ๊ฑฐ๊ธฐ์—์„œ ๋ฐ˜๋ณต์„ ์‹œ์ž‘ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

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

JDK 9 ์š”๊ตฌ ์‚ฌํ•ญ

์ข€ ๋” ๋ช…ํ™•ํ•ด์•ผ ํ•˜์ง€๋งŒ lombok์„ ๋นŒ๋“œํ•˜๋ ค๋ฉด JDK9๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์†”๋ฃจ์…˜: ant๊ฐ€ 8 ์ดํ•˜์ž„์„ ๊ฐ์ง€ํ•˜๊ณ  ์ฆ‰์‹œ ์˜ค๋ฅ˜๋ฅผ ์ œ๊ฑฐํ•˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ฏธ ์„ค์ •JavaOracle8TestEnvironment

๋‚˜๋Š” repo์˜ ์ƒˆ๋กœ์šด ๋ณต์ œ๋ณธ์„ ๊ฐ€์ ธ ์™€์„œ javac8์„ ์‚ฌ์šฉํ•˜๋„๋ก Mac ํ™˜๊ฒฝ์„ ์„ค์ •ํ•˜๊ณ  ์ด๊ฒƒ์„ ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅ˜๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

๋ญ”๊ฐ€ ์ž˜๋ชปํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ ๊ฐ™์€๋ฐ์š”? ๋‚˜๋Š” ์•„๋ฌด ์ƒ๊ฐ์ด ์—†๋‹ค; ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜๋ฅผ ์•Œ๋ ค์ฃผ์„ธ์š”. ์ด ์ •๋ณด ์—†์ด๋Š” ํ•  ์ˆ˜ ์žˆ๋Š” ์ผ์ด ๋ณ„๋กœ ์—†์Šต๋‹ˆ๋‹ค.

๋ณ„๋„๋กœ ๊ทธ๋ ‡๊ฒŒ ํ•  ํ•„์š”๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜๋ ค๋Š” ์ž‘์—…์— ๋”ฐ๋ผ ant eclipse ๋˜๋Š” ant dist ์žˆ์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค.

๋งŽ์€ ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํŒจํ•ฉ๋‹ˆ๋‹ค

์Œ, ๋งˆ์Šคํ„ฐ ๋ธŒ๋žœ์น˜๋Š” ๋ผ์ด๋ธŒ ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜์ž…๋‹ˆ๋‹ค. ์•ˆ์ •์ ์ธ ๊ฒƒ์„ ์›ํ•˜๋ฉด ํƒœ๊ทธ๊ฐ€ ์ง€์ •๋œ ๋ฆด๋ฆฌ์Šค๋กœ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค. ์‹คํŒจํ•œ ํ…Œ์ŠคํŠธ์˜ ๋Œ€๋ถ€๋ถ„์€ lombok์ด ๋‹ค์†Œ ์ด๊ตญ์ ์ธ ์ƒํ™ฉ์—์„œ ์ž˜๋ชป๋œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์žˆ์Œ์„ ๋‚˜ํƒ€๋‚ด๋ฉฐ ํ…Œ์ŠคํŠธ๋Š” ์ด๋ฅผ ๋ฐ˜์˜ํ•˜์ง€๋งŒ ์ผ๋ฐ˜์ ์œผ๋กœ '๋จธ๋ฆฌ์นด๋ฝ์— ๋ถˆ์ด ๋ถ™์—ˆ๋‹ค!!!'๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ํ•˜๋ฃป๋ฐค ์‚ฌ์ด์— ํ•ด๊ฒฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋Œ€๋‹ค์ˆ˜์˜ ๋กฌ๋ณต ์‚ฌ์šฉ์ž๋Š” ์‹คํ–‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฑฑ์ •ํ•˜์ง€ ๋งˆ์„ธ์š”.

IDE์—์„œ ์„ค์ •

๊ธ€์Ž„, ๋‚˜๋ฅผ ์œ„ํ•ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์†๋‹ด์— ๋”ฐ๋ฅด๋ฉด '์ž‘๋™ํ•˜์ง€ ์•Š์Œ'์€ ํ›Œ๋ฅญํ•œ ๋ฒ„๊ทธ ๋ณด๊ณ ์„œ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์ผ๋ถ€ ์„ธ๋ถ€ ์ •๋ณด๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ œ๊ฐ€ ๋„์™€๋“œ๋ฆด ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋‹น์‹ ์˜ ์šฐ์„  ์ˆœ์œ„๊ฐ€ ์•ฝ๊ฐ„ ์—‰๋ง์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์—ฌํ•˜๊ธฐ๋ฅผ ์›ํ•˜๊ณ  ์ฒซ ๋ฒˆ์งธ ์ดˆ์ ์€ ๋นŒ๋“œ์Šคํฌ๋ฆฝํŠธ์˜ ์„ ํƒ์— ์˜๋ฌธ์„ ์ œ๊ธฐํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๋งค์šฐ ์ข‹์€ ์ด์œ  ๋•Œ๋ฌธ์— ๋ณต์žกํ•œ ํ˜ผ๋ž€์ž…๋‹ˆ๋‹ค. Lombok์€ ๋‹น์‹ ์ด ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ๋ณต์žกํ•œ ํ”„๋กœ์ ํŠธ์— ๊ด€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ธฐ์—ฌ๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ์— ์ข‹์€ ๊ณณ์ด ์•„๋‹™๋‹ˆ๋‹ค.

์ด๊ฒƒ์€ ์žก๋™์‚ฌ๋‹ˆ์ž…๋‹ˆ๋‹ค: ๋‹น์‹ ์€ ์•„์ฃผ ์ž‘์€ ์„ธ๋ถ€์‚ฌํ•ญ์œผ๋กœ ๋งŽ์€ ๋ณ„๋„์˜ ๊ธฐ๋Šฅ ์š”์ฒญ๊ณผ ๋ฒ„๊ทธ ๋ณด๊ณ ์„œ๋ฅผ ๋‚˜์—ดํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ ์‹œ๊ฐ„:

  • ๋ฒ„๊ทธ ๋ณด๊ณ ์„œ๋ฅผ ํ›Œ๋ฅญํ•˜๊ณ  ์ž˜ ๋ฌธ์„œํ™”๋œ ๋ณด๊ณ ์„œ๋กœ ์ œ์ถœํ•˜์‹ญ์‹œ์˜ค. Java ๋ฒ„์ „, OS, ์ˆ˜ํ–‰ํ•œ ์„ค์ •, ๋ฐœ์ƒํ•œ ์˜ค๋ฅ˜์™€ ๊ฐ™์€ ๊ด€๋ จ ๋ฐ์ดํ„ฐ๋ฅผ ํฌํ•จํ•˜๊ณ  ํ•ญ๋ชฉ๋‹น ํ•˜๋‚˜์˜ ๋ฌธ์ œ๋งŒ ์ œ์ถœํ•˜์‹ญ์‹œ์˜ค.

  • ๊ธฐ์—ฌ์— ๋Œ€ํ•œ ์•„์ด๋””์–ด๋‚˜ ํฌ๋Ÿผ์—์„œ ๋งํ•˜์ž๋ฉด '์‹œ์ž‘'ํ•˜๋Š” ๊ฒƒ์ด ์–ผ๋งˆ๋‚˜ ์‰ฌ์šด์ง€ ๋˜๋Š” ์–ด๋ ค์šด์ง€์— ๋Œ€ํ•œ ์ผ๋ฐ˜์ ์ธ ๋ถˆ๋งŒ ์‚ฌํ•ญ์— ๋Œ€ํ•ด ํ† ๋ก ํ•˜์‹ญ์‹œ์˜ค. Lombok dev๋Š” ์šฐ๋ฆฌ๊ฐ€ ์›ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๋“ค์–ด๊ฐ€๊ธฐ๊ฐ€ ์‰ฝ์ง€ ์•Š์ง€๋งŒ ๊ทธ ์ค‘ ์ƒ๋‹น ๋ถ€๋ถ„์€ lombok์ด ํ•˜๋ ค๋Š” ์ž‘์—…์˜ ๋ณต์žก์„ฑ์— ๋‚ด์žฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

Windows๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ์ด๊ฒƒ์œผ๋กœ ์ƒˆ๋กœ์šด ๋กฌ๋ณต ๋นŒ๋“œ๋ฅผ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ํ…Œ์ŠคํŠธํ–ˆ์Šต๋‹ˆ๋‹ค.

  1. git clone https://github.com/rzwitserloot/lombok.git

  2. ํ•„์š”ํ•œ ๊ฒฝ์šฐ ํ”„๋ก์‹œ ์†์„ฑ์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค(์ €์˜ ๊ฒฝ์šฐ).

    set ANT_OPTS=-Dhttp.proxyHost=myproxyhost -Dhttp.proxyPort=3128 -Dhttp.proxyUser=myproxyusername -Dhttp.proxyPassword=myproxypassword -Dhttps.proxyHost=myproxyhost -Dhttps.proxyPort=3128
    

    ๋‹น์—ฐํžˆ ํ”„๋ก์‹œ ๋’ค์— ์žˆ๋Š” ๊ฒฝ์šฐ ๊ตฌ์„ฑ์— ๋”ฐ๋ผ ํ˜ธ์ŠคํŠธ, ํฌํŠธ ๋ฐ ์‚ฌ์šฉ์ž๋ฅผ ๊ตฌ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋ก์‹œ ๋’ค์— ์žˆ์ง€ ์•Š์€ ๊ฒฝ์šฐ ์ด ๋‹จ๊ณ„๋ฅผ ๊ฑด๋„ˆ๋›ธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  3. java -version :

    ์ด๊ฒƒ์€ ๋‹ค์Œ์„ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค:

    java version "10" 2018-03-20
    Java(TM) SE Runtime Environment 18.3 (build 10+46)
    Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10+46, mixed mode)
    
  4. javac -version :

    javac 10 ๋งŒ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.

  5. ant - ์˜ˆ, ant ์žˆ์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋งŽ์€ ์ข…์†์„ฑ์„ ๋‹ค์šด๋กœ๋“œํ•˜๋Š” ๋ฐ ์•ฝ๊ฐ„์˜ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ๊ณ  ํ•ญ๋ชฉ์„ ์ปดํŒŒ์ผํ•˜๋Š” ๋ฐ ์•ฝ๊ฐ„์˜ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ 7๋ถ„ 7์ดˆ ํ›„ ๋‚ด dist ํด๋”์— lombok.jar ๋ฐ lombok-1.16.21.jar ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌผ๋ก  @rzwitserloot์ด ๋งํ–ˆ๋“ฏ์ด ํƒœ๊ทธ๊ฐ€ ์ง€์ •๋œ ๋ถ„๊ธฐ ๋Œ€์‹  master ์—์„œ ํ•ญ๋ชฉ์„ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์€ ์ž˜ ํ…Œ์ŠคํŠธ๋˜์ง€ ์•Š์€ ํ•ญ๋ชฉ์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ dist ํด๋”์— JAR์ด ์žˆ์œผ๋ฉด ๋ฐฉ๊ธˆ ์ปดํŒŒ์ผํ–ˆ๋‹ค๋Š” ์˜๋ฏธ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ธฐ๋Šฅ ๋ฐ ๋ฒ„๊ทธ ์ˆ˜์ •์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์ฝ”๋“œ๋ฅผ ํ•ดํ‚นํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

@rzwitserloot ์‚ฌ์‹ค "ํญ์–ธ"ํ•˜๋ ค๋Š” ์˜๋„๊ฐ€ ์•„๋‹ˆ ant -projecthelp ์ธ์‡„ํ•œ ๋ฌธ์„œ์— ๋”ฐ๋ผ CLI์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ํ™•์ธํ•˜๊ณ  ์‹คํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค . ๋นŒ๋“œ์Šคํฌ๋ฆฝํŠธ (?) ์Šค๋Ÿฝ๋‹ค๋Š” ๊ฒƒ์„ ๋งํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

@victorws ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ํƒœ๊ทธ๊ฐ€ ์žˆ๋Š” ๋ฆด๋ฆฌ์Šค๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋งˆ์Šคํ„ฐ์—์„œ ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํŒจํ•ด๋„ ๊ดœ์ฐฎ์€์ง€ ๋ชฐ๋ž๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ํ†ต๊ณผํ•˜๊ธฐ ์œ„ํ•ด ๋งŽ์€ ์‹œ๊ฐ„์„ ๋ณด๋ƒˆ์Šต๋‹ˆ๋‹ค. lombok๊ณผ ๊ฐ™์€ ๋ณต์žกํ•œ ํ”„๋กœ์ ํŠธ์˜ ๊ฒฝ์šฐ ํ…Œ์ŠคํŠธ ์‹คํŒจ ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ์‹œ์ž‘ํ•˜๊ณ  ์‹ถ์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ ๋ณ€๊ฒฝ์„ ์‹œ์ž‘ํ•  ๋•Œ ์‹คํŒจํ•œ ํ…Œ์ŠคํŠธ๊ฐ€ ์ด์ „ ๋˜๋Š” ์ดํ›„์— ์ค‘๋‹จ๋˜์—ˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ์•Œ ์ˆ˜ ์—†๊ณ  "๋‹ค์Œ์— ์ปดํŒŒ์ผ๋ฉ๋‹ˆ๋‹ค. ๋‚ด ๊ธฐ๊ณ„" ๋ฌธ์ œ. ๋”ฐ๋ผ์„œ ๋‚˜๋Š” ์—ฌ์ „ํžˆ ํƒœ๊ทธ๊ฐ€ ์žˆ๋Š” ๋ฆด๋ฆฌ์Šค๋ฅผ ํ†ต๊ณผํ•˜๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ  ๊ฑฐ๊ธฐ์—์„œ ๋ฐ˜๋ณต์„ ์‹œ์ž‘ํ•˜๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

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