Java/Java ์ด๋ก
2022. 3. 7.
์ฑ๊ธํด ํจํด (Singleton pattern)
์ฑ๊ธํด ํจํด ์๋ฐ๋ก ๊ฐ๋ฐ์ ํ ๋, ํน์ ํด๋์ค๊ฐ ๋ค์์ ์ธ์คํด์ค๋ก ์ฌ๋ฌ ๋ฒ ์์ฑ๋๋ค๋ฉด, ๋ฌธ์ ๊ฐ ๋ ์ ์๋ค. ์๋ฐ์์ ์ด๋ฅผ ๋์์ธ ํจํด ์ค ํ๋์ธ ์ฑ๊ธํด ํจํด(Singleton pattern) ์ผ๋ก ๋ฐฉ์งํ๋ค. ์ฑ๊ธํด ํจํด์ ์ฌ์ฉ ์ปค๋ฅ์
ํ, ์ค๋ ๋ ํ๊ณผ ๊ฐ์ ์์์ ์ฌ์ฉํด์ผ ํ๋ ํด๋์ค๋ค์ด ์ธ์คํด์ค๋ฅผ ์ฌ๋ฌ ๋ฒ ๋ง๋ค๋ฉด, ์์์ ๋ญ๋น๊ฐ ๋๊ณ , ์์ํ ์ ์๋ ์ค๋ฅ๊ฐ ๋ฐ์ํ ์ ์๋ค. ์ฑ๊ธํด ํจํด์ ์ ์ฉํ ํด๋์ค์๋, ์์ฑ์์ ์ ์ฝ์ ๊ฑธ์ด์ ํ์ํ ๊ฐ์ฒด๋ฅผ ํ๋๋ง ๋ง๋ค๋๋ก ํ๋ ๋์์ธ ํจํด์ด๋ค. ์ฑ๊ธํด ํจํด์ ๊ท์น ์ฑ๊ธํด ํจํด์ ํด๋์ค๋ฅผ ๋ง๋ค๊ธฐ ์ํด์๋ ๋ค์์ ๊ท์น์ด ์์ด์ผ ํ๋ค. ์์ฑ์์ ์ ๊ทผ์ ์ด์๋ฅผ private๋ก ํ์ฌ ์ธ๋ถ์์ ์์ฑํ์ง ๋ชปํ๋๋ก ํ๋ค. ํ๋๋ง ์กด์ฌํ๋ ์ธ์คํด์ค๋ฅผ ๋ฐํํ ์ ์๋ ์ ์ ๋ฉ์..