ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉฐ ์ฑ๊ธํค์ ํ์ตํ๊ฒ ๋๊ณ , ๋ฐฑ๊ธฐ์ ๋์ ๋์์ธํจํด ๊ฐ์๋ฅผ ๋ฃ์ผ๋ฉฐ ์์ฑํ ๊ธ์ ๋๋ค. ํ์ต ๊ณผ์ ์์ ์์ฑ๋์๊ธฐ ๋๋ฌธ์ ์๋ชป๋ ๋ด์ฉ์ด ์์ ์ ์์ผ๋ฉฐ ์ด๋ฅผ ์๋ ค์ฃผ์ ๋ค๋ฉด ์ฆ์ ์์ ํ๊ฒ ์ต๋๋ค.
1. ์ฑ๊ธํค์ ์ง์ ๊ตฌํํ์ ๋์ ๋ฌธ์ ์
์ฑ๊ธํค์ ์ผ๋ฐ์ ์ผ๋ก ๊ตฌํํ๋ฉด ์๋์ ๊ฐ์ ํจํด์ผ๋ก ๊ตฌํํ ์ ์์ต๋๋ค. ํ์ง๋ง ์ฌ๊ธฐ์๋ ๋ช ๊ฐ์ง ๋ฌธ์ ์ ์ด ์กด์ฌํ๋๋ฐ์, ์ฐ์ ๋๊ธฐํ ๋ฌธ์ ์ ์์ ํ์ง ์๋ค๋ ๊ฒ๊ณผ ์ฑ๊ธํค์ด ๊นจ์ง ์ ์๋ค๋ ์ ์ ๋๋ค. ์ฐ์ ๋๊ธฐํ ๋ฌธ์ ์ ๋ํด ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์๋์ ๊ฐ์ด ์ฝ๋๋ฅผ ์์ฑํ์๋ ์ฌ์ฉ์A์ B๊ฐ ๋์์ ํด๋น ์ธ์คํด์ค๋ฅผ ์์ฑํ๋ค๋ฉด ๋ชจ๋ new Setting( )์ ํตํด ์ธ์คํด์ค๋ฅผ ์์ฑํ๊ฒ ๋ฉ๋๋ค.
์ด ๊ฒฝ์ฐ ์ธ์คํด์ค๊ฐ ๋ค๋ฅธ ๋ฌธ์ ์ ์ด ๋ฐ์ํ๊ฒ ๋๋๋ฐ์, ๋ฐ๋ผ์ ์ด๋ฅผ ๋ง๊ธฐ ์ํด์๋ ์๋์ ๊ฐ์ด synchronized ํค์๋๋ฅผ ์ฌ์ฉํ๊ฑฐ๋ Holder๋ฅผ ์ฌ์ฉํด ๋์์ ์ ๊ทผํ๋ ๊ฒ์ ๋ฐฉ์งํด์ผ ํฉ๋๋ค.
ํ์ง๋ง ์ด ๋ํ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ์ฑ๊ธํค์ด ๊นจ์ง ์ ์๋ค๋ ์ ์ธ๋ฐ์, ๋ฆฌํ๋ ์ ์ ์ด์ฉํ๊ฑฐ๋ ์ง๋ ฌํ๋ฅผ ํตํด ๋ง๋ ์ฑ๊ธํค์ ๊นจํธ๋ฆด ์ ์์ต๋๋ค. ๋ฆฌํ๋ ์ ์ ๊ฒฝ์ฐ ๋งค๋ฒ ์๋ก์ด ์ธ์คํด์ค๋ฅผ ์์ฑํ ์ ์์ผ๋ฉฐ, ์ญ์ง๋ ฌํ ๊ณผ์ ์์๋ ๊ฐ์ฒด๊ฐ ์๋ก ์์ฑ๋๊ธฐ ๋๋ฌธ์ ๋๋ค. * ์ฐ๋ฆฌ๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ฐ์ฒด๋ฅผ ๊บผ๋ด์์๋ new๋ก ์๋ก์ด ์ธ์คํด์ค๊ฐ ์๊ธฐ๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.
๋ฌผ๋ก readResolve( ) ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ์ญ์ง๋ ฌํ ๊ณผ์ ์์๋ ๋๋ฑ์ฑ์ ๋ณด์ฅ๋ฐ์ ์ ์์ต๋๋ค๋ง ๋ฆฌํ๋ ์ ์ ๊ฒฝ์ฐ ์ฌ์ ํ ๋ฌธ์ ์ ์ด ์กด์ฌํฉ๋๋ค.
2. enum๊ณผ ์ฑ๊ธํค
์ด๋ฅผ ์๋ฒฝํ๊ฒ ๋ฐฉ์ดํ ์ ์๋ ๊ฒ์ด enum์ธ๋ฐ์, enum์ ๋ฆฌํ๋ ์ ์ผ๋ก ์ธ์คํด์ค๋ฅผ ์์ฑํ ์ ์์ผ๋ฉฐ ๊ธฐ๋ณธ์ ์ผ๋ก Serializable์ ๊ตฌํํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์ง๋ ฌํ์ ์์ ํฉ๋๋ค.
๋ํ enum์ ์ผ๋ฐ ํด๋์ค๊ธฐ ๋๋ฌธ์ ์ํ์ ํ์ ๋ํ ์ ์ํ ์ ์์ต๋๋ค. ์ฆ, ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋ก๋ฉ๋๋ ์์ ์ ๋จ ํ๋๋ง ์์ฑ๋๋ ๊ฒ์ ๋ณด์ฅ๋ฐ์ ์ ์์ผ๋ฉฐ, ์๋ก์ด ์ธ์คํด์ค๊ฐ ์์ฑ๋๋ ๊ฒ์ด ๋งํ์๊ธฐ ๋๋ฌธ์ ๋ค๋ฅธ ๋ฐฉ๋ฒ์ผ๋ก๋ ์ธ์คํด์ค๋ฅผ ์์ฑํ ์ ์๋ ๊ฒ์ ๋ณด์ฅํ ์ ์์ต๋๋ค.
3. Conclusion
๋ฌผ๋ก ์ผ๋ฐ์ ์ผ๋ก enum์ผ๋ก ์ธ์คํด์ค๋ฅผ ๋ง๋ค์ด ์ฌ์ฉํ ์ผ์ ๊ทนํ ๋๋ฌผ๊ฒ ์ง๋ง ์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ์ฑ๊ธํค์ ๊ตฌํํ์๋ ์ด๋ค ๋ฌธ์ ์ ์ด ์๊ณ , ์ด๋ฅผ ์ด๋ป๊ฒ ํด๊ฒฐํ ์ ์๋์ง์ ๋ํด ์๋ ๊ฒ์ ์ค์ํ๋ค๊ณ ๋ด ๋๋ค. ๋ฐ๋ผ์ ์ด ๋ถ๋ถ์ ์ ์์งํด์ ์คํ๋ง์์๋ ์ด๋ป๊ฒ ์ด๋ฅผ ํด๊ฒฐํ๊ณ ์๋์ง ์ถ๊ฐ๋ก ํ์ตํ๋ฉด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
'๐ฅDEV > Java || Spring' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
@Embedded์ ๊ธฐ๋ณธ ์์ฑ์ (0) | 2022.07.14 |
---|---|
๋ธ๋ฆฟ์ง ํจํด (0) | 2022.07.10 |
์ผ๊ธ ์ปฌ๋ ์ ๊ณผ ์ฃผ์์ฌํญ (0) | 2022.02.22 |
TreeSet (0) | 2022.02.22 |
์์ํ๊ณผ String (0) | 2022.02.20 |
๋๊ธ