์Šคํ”„๋ง๋ถ€ํŠธ ๋กฌ๋ณต ์ ์šฉํ•˜๊ธฐ


๋กฌ๋ณต์€ ์‚ฌ์‹ค ๊ตญ๋น„๊ต์œก ๊ณผ์ •์—์„œ๋„ ๊ฐ•์‚ฌ๋‹˜์ด ํŽธํ•œ๊ฑฐ๋ผ๊ณ  ์†Œ๊ฐœํ•ด์ฃผ์…จ๋˜ ์ ์ด ์žˆ์—ˆ๋Š”๋ฐ, ๊ทธ๋•Œ๋Š” ์†”์งํžˆ ํŽธํ•œ ๊ฒƒ ๋ณด๋‹ค๋Š” ์ •์„์„ ๋ฐฐ์›Œ๋ณด๊ณ  ์‹ถ์–ด์„œ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•˜๋Š”๋ฐ ์˜ค๋Š˜ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ์‚ฌ์šฉํ•ด๋ณด๋‹ˆ ๋„ˆ๋ฌด ํŽธํ•œ ๊ฒƒ ๊ฐ™์•„์„œ ์•ž์œผ๋กœ ์“ธ ์ผ์ด ๋งŽ์„ ๋“ฏ ํ•˜์—ฌ ์ด ๊ธ€์„ ์ž‘์„ฑํ•ฉ๋‹ˆ๋‹ค.


Lombok(๋กฌ๋ณต) ์ด๋ž€?

  • getter, setter, ์ƒ์„ฑ์ž, toString ๊ฐ™์€ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ํ•จ์ˆ˜๋“ค์„ ์ง์ ‘ ์ž‘์„ฑํ•˜์ง€ ์•Š๊ณ  ์ž๋™์œผ๋กœ ์ž‘์„ฑํ•ด์ฃผ์–ด ์ฝ”๋“œ๋ฅผ ๊ฐ„์†Œํ™”ํ•ด ์ฃผ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ
  • ๋กœ๊น… ๊ธฐ๋Šฅ์„ ํ†ตํ•ด println()๋ฌธ์˜ ๋ถˆํŽธํ•จ์„ ๊ฐœ์„ ํ•  ์ˆ˜ ์žˆ์Œ

    ๋กœ๊น…(logging) : println์€ ๊ธฐ๋ก์— ๋‚จ์ง€ ์•Š์•„ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”๋กœ ์ถœ๋ ฅํ•ด๋ณผ ์ˆœ ์žˆ์ง€๋งŒ ๋‚˜์ค‘์— ๋”ฐ๋กœ ์ฐพ์•„๋ณผ ์ˆ˜๋Š” ์—†์œผ๋ฉฐ ์„œ๋ฒ„์˜ ์„ฑ๋Šฅ์—๋„ ์•…์˜ํ–ฅ์„ ๋ผ์น˜๋Š” ๊ฒƒ๊ณผ ๋‹ฌ๋ฆฌ, ๋กœ๊น…์€ ๋‚˜์ค‘์—๋„ ๊ทธ๋™์•ˆ ์ฐํžŒ ๊ธฐ๋ก์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค



Lombok ์„ค์น˜ํ•˜๊ธฐ


ํ”„๋กœ์ ํŠธ์˜ src > build.gradle ํŒŒ์ผ์— ์•„๋ž˜ ์ฝ”๋“œ๋ฅผ ์ž…๋ ฅํ•œ ํ›„ gradle ์ƒˆ๋กœ๊ณ ์นจ์„ ๋ˆŒ๋Ÿฌ์ฃผ๋ฉด ํ”„๋กœ์ ํŠธ๊ฐ€ ์ž๋™์œผ๋กœ ๋กฌ๋ณต์„ ์„ค์น˜ํ•œ๋‹ค.
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'


์œ„์™€ ๊ฐ™์ด ๋œจ๋ฉด ์„ฑ๊ณต!



์ฝ”๋“œ ๊ฐ„์†Œํ™” ํ•˜๊ธฐ

๋กฌ๋ณต์„ ์„ค์น˜ํ–ˆ์œผ๋ฉด ์ด์ œ ๊ฐ„์†Œํ™” ์ž‘์—…์„ ํ•ด๋ณด์ž.

1. ์ƒ์„ฑ์ž ๋ฉ”์„œ๋“œ ๊ฐ„์†Œํ™” ํ•˜๊ธฐ

์ž‘์„ฑ๋˜์–ด ์žˆ๋Š” ์ƒ์„ฑ์ž ์ฝ”๋“œ๋ฅผ ์ง€์šด ํ›„ ํ•ด๋‹น ํด๋ž˜์Šค ์œ„์— ์•„๋ž˜์˜ ์–ด๋…ธํ…Œ์ด์…˜์„ ์ถ”๊ฐ€ํ•œ๋‹ค.

@AllArgsConstructor 

๊ทธ๋Ÿฌ๋ฉด import lombok.AllArgsConstructor๊ฐ€ ์ž๋™์œผ๋กœ ์ž„ํฌํŠธ ๋œ๋‹ค.

2. toString ๋ฉ”์„œ๋“œ ๊ฐ„์†Œํ™” ํ•˜๊ธฐ

์ž‘์„ฑ๋˜์–ด ์žˆ๋Š” toString ์ฝ”๋“œ๋ฅผ ์ง€์šด ํ›„ ํ•ด๋‹น ํด๋ž˜์Šค ์œ„์— ์•„๋ž˜์˜ ์–ด๋…ธํ…Œ์ด์…˜์„ ์ถ”๊ฐ€ํ•ด์ค€๋‹ค.

@ToString 

๊ทธ๋Ÿฌ๋ฉด import lombok.ToString์ด ์ž๋™์œผ๋กœ ์ž„ํฌํŠธ ๋œ๋‹ค.



์ปจํŠธ๋กค๋Ÿฌ์— ๋กœ๊ทธ ๋‚จ๊ธฐ๊ธฐ

์ปจํŠธ๋กค๋Ÿฌ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์‚ฌ์šฉํ•ด๋ณด์ž.

  1. ํด๋ž˜์Šค ์œ„์— ์•„๋ž˜์˜ ์–ด๋…ธํ…Œ์ด์…˜์„ ์ถ”๊ฐ€ํ•œ๋‹ค.
@Slf4j
  1. ์•„๋ž˜์˜ ํ•จ์ˆ˜๋กœ ๋กœ๊ทธ๋ฅผ ๋‚จ๊ธฐ๊ณ  ์‹ถ์€ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•œ๋‹ค.
log.info(๋ณ€์ˆ˜๋ช…);

println()์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ํ™•์ธํ•˜๋Š” ๊ฒƒ ๋ณด๋‹ค ๋กœ๊ทธ๋กœ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด ์„ฑ๋Šฅ์ ์œผ๋กœ๋„ ๋” ์ข‹๋‹ค๊ณ  ํ•œ๋‹ค.


๊ตญ๋น„ ๊ต์œก ํ”„๋กœ์ ํŠธ ๋™์•ˆ์— ๋‚ ์”จ api๋ฅผ ์‚ฌ์šฉํ•ด์•ผ ํ•ด์„œ api์—์„œ ์ œ๋Œ€๋กœ ๊ฐ’์„ ๊ฐ€์ ธ์˜ค๋Š”์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด println()์„ ์‚ฌ์šฉํ–ˆ์—ˆ๋Š”๋ฐ, ๋ฐ์ดํ„ฐ ์–‘์ด ๋„ˆ๋ฌด ๋งŽ์•„์„œ ๊ฐ€๋” ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๊ธฐ๋„ ํ•˜๊ณ , ์‹ฌ์ง€์–ด๋Š” ํ†ฐ์บฃ ์„œ๋ฒ„์— ๊ณผ๋ถ€ํ•˜๊ฐ€ ๊ฑธ๋ ค ์—ฐ๊ฒฐ์ด ๋Š์–ด์ง€๊ธฐ๋„ ํ–ˆ์—ˆ๋‹ค.

๋” ์ผ์ฐ ๋กฌ๋ณต์˜ ๋กœ๊น… ๊ธฐ๋Šฅ์„ ์•Œ์•˜๋‹ค๋ฉด ์ข€ ๋” ์„ฑ๋Šฅ์ด ์ข‹๊ฒŒ ํ”„๋กœ์ ํŠธ๋ฅผ ๋๋งˆ์น  ์ˆ˜ ์žˆ์ง€ ์•Š์•˜์„๊นŒ ํ•˜๋Š” ์•„์‰ฌ์›€์ด ๋“ ๋‹ค.
profile
์ฝ”๋”ฉ ์ดˆ์งœ์ž…๋‹ˆ๋‹ค

0๊ฐœ์˜ ๋Œ“๊ธ€

Powered by GraphCDN, the GraphQL CDN