๋ฐ์ํ Thread safe1 [JAVA] ์ฑ๊ธํค ํจํด(Singleton Pattern) : ๋ฉํฐ ์ค๋ ๋ ํ๊ฒฝ์์์ ๋ฌธ์ ์ ์ฑ๊ธํค ํจํด์ด๋? ํ๋ง๋๋ก ์ ์ํ์๋ฉด '๊ฐ์ฒด๋ฅผ ๋จ ํ๋๋ง ์์ฑํ๋๋ก ํ๋ ๋์์ธ ํจํด'! static์ด๊ธฐ ๋๋ฌธ์ ๊ณ ์ ๋ ๋ฉ๋ชจ๋ฆฌ ์์ต์ ์ป์ผ๋ฉฐ, ๋ชจ๋ ํด๋ผ์ด์ธํธ(ํด๋์ค)์์ ํด๋น ์ธ์คํด์ค๋ฅผ ์ฌ์ฉํ ์ ์์ด์ ๊ณตํต๋ ๊ฐ์ฒด๋ฅผ ๋ค์์ ํด๋ผ์ด์ธํธ์์ ์ฌ์ฉํด์ผํ๋ ์ํฉ์์ ์ฃผ๋ก ์ฌ์ฉ ๋๋ค. ์ฑ๊ธํค ํจํด์ ์์ ๋ฅผ ๋ณด๋ฉด ์๋์ ๊ฐ์ ํํ๊ฐ ๋๋ถ๋ถ์ด๋ค. ๋ณธ์ธ๋ ์ฑ๊ธํค ํด๋์ค๋ฅผ ์์ฑํ ๋ ์ด๋ ๊ฒ ์์ฑํ์๋๋ฐ, ์ด๋ฐ ๊ฒฝ์ฐ ๋ฉํฐ์ค๋ ๋ ํ๊ฒฝ์์ ๋๊ฐ ์ด์์ ์ค๋ ๋๊ฐ getInstance()๋ฅผ ํ๊ฒ ๋ ๊ฒฝ์ฐ ๋๊ฐ์ ์ธ์คํด์ค๊ฐ ์์ฑ๋๋ ๋ฌธ์ ๊ฐ ์๊ธธ ์ ์๋ค. (= ๋์์ฑ ๋ฌธ์ , thread unsafe) public class Singleton { private static Singleton singleton = null; pri.. 2022. 2. 10. ์ด์ 1 ๋ค์ 728x90 ๋ฐ์ํ