๐๏ธ Lombok๊ณผ Record, ์ด๋ค ๊ฒ์ด ๋ ์ข์ ์ ํ์ผ๊น?
์คํ๋ง ๋ถํธ ์ ํ๋ฆฌ์ผ์ด์ ์ธ lombok๊ณผ ์๋ฐ 14์์ ์ถ์๋ ์๋ก์ด ๊ธฐ๋ฅ์ธ record ํด๋์ค, ๋ ๊ฐ์ง๋ฅผ ๋น๊ตํด ๋ด ์๋ค. Project Lombok Lombok์ ์๋ํฐ์ ๋น๋ ๋๊ตฌ์ ์๋์ผ๋ก ์ฐ๊ฒฐ๋์ด ์๋ฐ ๊ฐ๋ฐ ์๋๋ฅผ ๋์ฌ์ฃผ๋ ์๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋๋ค. getter์ equals ๋ฉ์๋๋ฅผ ์์ฑํ ํ์๊ฐ ์์ต๋๋ค. ์ด๋ ธํ ์ด์ ํ๋๋ง ์ถ๊ฐํ๋ฉด ์์ ํ ๊ธฐ๋ฅ์ ์ถ๊ฐํ ์ ์์ผ๋๊น์. Record Classes in JAVA14 Recrod๋ ์๋ฐ 14์์ ๋ณด์ผ๋ฌํ๋ ์ดํธ ์ฝ๋๋ฅผ ์ ๊ฑฐํ๊ธฐ ์ํด ์๋กญ๊ฒ ์ถ๊ฐ๋ ํด๋์ค์ ๋๋ค.ย Record ํด๋์ค๋ ํด๋์ค๋ฅผ ๋จ์ํ ๋ฐ์ดํฐ ์ ๋ฌ์๋ก ์ฌ์ฉํ๊ณ ์ถ์ ๋ ๊ถ์ฅ๋๋ ๋ฐฉ๋ฒ์ ๋๋ค.ย ๋น๋ ํจํด ๋น๋ ํจํด์ ๊ฐ์ฒด๋ฅผ ๋ง๋ค ๋ ์ข์ ์ ํ์ ๋๋ค. Lombok์ @Builder ์ด๋ ธํ ์ด์ ์ผ๋ก ์ฝ๊ฒ ๋ง๋ค ์ ์์ด ๋น๋ ํจํด์ ์ง์ํฉ๋๋ค. Record๋ ๊ทธ๋ฐ ๊ฒ๋ค์ ์ ๊ณตํ์ง ์์ต๋๋ค. ๋น ์ปจ๋ฒค์ getX(...) setX(...)์ ๊ฐ์ ๋ฉ์๋๋ฅผ ์์ฃผ ์ฌ์ฉํ์์ฃ ? Record๋ฅผ ์ฌ์ฉํ๋ฉด ๋ ์ด์ getter/setter ๋ณด์ผ๋ฌ ํ๋ ์ดํธ ์ฝ๋๋ฅผ ์์ฑํ์ง ์์๋ ๋ฉ๋๋ค. ๋ฐ๋ฉด Lombok์ ์ฌ์ฉํ๋ฉด @Getter/@Setter ์ด๋ ธํ ์ด์ ์ ์ถ๊ฐํ ํ getter/setter ๋ฉ์๋๋ฅผ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์์ ํ์ฌ Record ํด๋์ค๋ ์ง์ ์์์ ์ง์ํ์ง ์์ง๋ง Lombok์ ์ด๋ ธํ ์ด์ ์ ๋์์ ๋ฐ์ ์ํํ ์ ์์ต๋๋ค. ๊ฒฐ๋ก Record๋ ๋ณด์ผ๋ฌ ํ๋ ์ดํธ ์ฝ๋๋ฅผ ์ํ์ง ์๊ณ ๋ ๊นจ๋ํ ์ฝ๋๋ฅผ ๋ง๋ค๊ณ ์ถ์ ๋ ์ข์ ์ ํ์ด ๋ ์ ์์ต๋๋ค. ํ์ง๋ง ๋น๋์ ๊ฐ์ ๋ ๋ง์ ์ต์ ์ ์ฌ์ฉํ๊ณ ์ถ๋ค๋ฉด Lombok์ด ์น์์ ๋๋ค.ย ๋ฒ์ญ: [https://ducktopia.tistory.com/106] ์๋ฌธ: