๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Spring

[Spring MVC ํ”„๋กœ์ ํŠธ ๋ฆฌํŒฉํ† ๋ง] 3. ์˜์กด์„ฑ ์ฃผ์ž… ์ˆ˜์ •

by LasBe 2022. 5. 2.
๋ฐ˜์‘ํ˜•

๐Ÿ“„ ๊ด€๋ จ ๊ธ€


 

 

 

โšก๏ธ๋ฆฌํŒฉํ† ๋ง Before -> After


๐Ÿ“Œ Before

 

๊ฐ์ฒด์—๊ฒŒ ํ•„๋“œ ์ฃผ์ž… ๋ฐฉ์‹์œผ๋กœ ์˜์กด์„ฑ์„ ์ฃผ์ž…ํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค.

 


 

๐Ÿ“Œ After

 

ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ์ฝ”๋“œ๋“ค์„ ์ƒ์„ฑ์ž ์ฃผ์ž…๋ฐฉ์‹๊ณผ ๋”๋ถˆ์–ด final ํ‚ค์›Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด ๋ถˆ๋ณ€์„ฑ์„ ํ™•๋ณดํ–ˆ์Šต๋‹ˆ๋‹ค.

 

 

 

โšก๏ธ๋ฆฌํŒฉํ† ๋ง ์ด์œ 


๐Ÿ“Œ ์ด์œ 

๊ธฐ์กด Model2 ํ”„๋กœ์ ํŠธ๋ฅผ ๋ณ€๊ฒฝํ•˜๋ฉฐ ๊ฐ•์‚ฌ๋‹˜์€ ํ•„๋“œ ์ฃผ์ž…์œผ๋กœ ์˜์กด์„ฑ์„ ์ฃผ์ž…ํ–ˆ์Šต๋‹ˆ๋‹ค.

 

์• ์ดˆ์— 3๊ฐ€์ง€ ์ฃผ์ž… ๋ฐฉ์‹์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜์ง€ ์•Š์•„์„œ ๋ชจ๋ฅด๊ณ  ์ง€๋‚˜์ณค์„ ์ˆ˜๋„ ์žˆ์—ˆ์œผ๋‚˜

๊ฐœ์ธ์ ์œผ๋กœ ๊ณต๋ถ€ํ•˜๋ฉฐ ํ•„๋“œ ์ฃผ์ž…์€ ๊ฐ„๋‹จํ•˜์ง€๋งŒ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์— ๋น„ํ•ด ํŠน๋ณ„ํ•œ ์ด์ ๋„ ์—†๊ณ ,

์Šคํ”„๋ง ํŒ€์—์„œ ๊ถŒ์žฅํ•˜์ง€ ์•Š๋Š”๋‹ค๊ณ  ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค.

 

์ด์— ํ”„๋กœ์ ํŠธ์˜ ๋ชจ๋“  ์˜์กด์„ฑ ์ฃผ์ž…์„ ์ƒ์„ฑ์ž ๋ฐฉ์‹์œผ๋กœ ๋ฆฌํŒฉํ† ๋งํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

 


๐Ÿ“Œ ์ƒ์„ฑ์ž ์ฃผ์ž…์˜ ์ด์ 

์˜์กด์„ฑ ์ฃผ์ž…๋ณ„ ์„ค๋ช…์€ ์ด์ „ ๊ธ€์—์„œ๋„ ์„ค๋ช…ํ–ˆ์ง€๋งŒ ํŠน๋ณ„ํžˆ ์ƒ์„ฑ์ž ์ฃผ์ž…์˜ ์ด์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

๐Ÿ”Ž final ํ‚ค์›Œ๋“œ ์‚ฌ์šฉ

์šฐ์„  final ํ‚ค์›Œ๋“œ๊ฐ€ ๋ถ™์€ ํ•„๋“œ๋‚˜ ๋ฉ”์†Œ๋“œ๋Š” ๋ถˆ๋ณ€์˜ ์˜๋ฏธ๋ฅผ ๊ฐ–๊ณ , ๋‹ค์Œ๊ณผ ๊ฐ™์ด 3๊ฐ€์ง€ ๋ฐฉ๋ฒ•์œผ๋กœ๋งŒ ์ดˆ๊ธฐํ™”๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

  1. ๋ช…์‹œ์  ์ดˆ๊ธฐํ™”
  2. ์ดˆ๊ธฐํ™” ๋ธ”๋Ÿญ์—์„œ ์ดˆ๊ธฐํ™”
  3. ์ƒ์„ฑ์ž์—์„œ ์ดˆ๊ธฐํ™”

๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— setter ์ฃผ์ž…์ด๋‚˜ ํ•„๋“œ ์ฃผ์ž…์œผ๋กœ๋Š” final ์‚ฌ์šฉ ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

 

๊ทธ๋ ‡๋‹ค๋ฉด final์„ ์‚ฌ์šฉํ•ด ์–ป๋Š” ์ด์ ์€ ๋ฌด์—‡์ด ์žˆ์„๊นŒ์š”?

 

์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉฐ ์˜์กด ๊ด€๊ณ„์˜ ๋ณ€๊ฒฝ์ด ํ•„์š”ํ•œ ๊ฒฝ์šฐ๋Š” ๊ฑฐ์˜ ์—†์ง€๋งŒ

ํ•„๋“œ ์ฃผ์ž…์ด๋‚˜ setter ์ฃผ์ž…์„ ์ด์šฉํ•ด ์˜์กด์„ฑ์„ ์ฃผ์ž…ํ•œ๋‹ค๋ฉด ๋ถˆํ•„์š”ํ•œ ๋ณ€๊ฒฝ์˜ ๊ฐ€๋Šฅ์„ฑ์„ ์ฐจ๋‹จํ•  ์ˆ˜ ์žˆ๊ณ ,

์‹คํ–‰ ์ค‘ ์˜์กด์„ฑ์— ๋Œ€ํ•œ ๋ฌธ์ œ๋ฅผ ์ปดํŒŒ์ผ ์‹œ์ ์— ๋ฏธ๋ฆฌ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์–ด

๋” ์•ˆ์ „ํ•˜๊ณ  ์œ ์ง€๋ณด์ˆ˜์— ์šฉ์ดํ•˜๋‹ค๋Š” ์žฅ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

 


๐Ÿ”Ž StackOverFlow ์—๋Ÿฌ ๋ฐฉ์ง€

์„œ๋กœ ๋‹ค๋ฅธ ๊ฐ์ฒด์˜ ๋ฉ”์†Œ๋“œ๊ฐ€ ๊ณ„์†ํ•ด์„œ ์„œ๋กœ๋ฅผ ํ˜ธ์ถœํ•˜๊ฒŒ ๋œ๋‹ค๋ฉด

๋ฉ”๋ชจ๋ฆฌ์— ๊ณ„์†ํ•ด์„œ ์ฝœ๋ฐฑ์ด ์Œ“์ด๋‹ค๊ฐ€ StackOverFlow ์—๋Ÿฌ๋ฅผ ๋ฑ‰์Šต๋‹ˆ๋‹ค.

 

์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ๋Š” ์ž˜ ์ผ์–ด๋‚˜์ง€ ์•Š์ง€๋งŒ ์ƒ์„ฑ์ž ์ฃผ์ž…์„ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ๊ตฌ๋™ ๋˜๋Š” ๋„์ค‘ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๊ณ 

๊ฐ์ฒด์˜ ์ƒ์„ฑ ์‹œ์ ์— ์ˆœํ™˜ ์ฐธ์กฐ ์˜ค๋ฅ˜๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ณ  ์—๋Ÿฌ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๊ธฐ ๋•Œ๋ฌธ์— ๋” ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€


์˜คํ”ˆ ์ฑ„ํŒ