Singleton

์ธ์Šคํ„ด์Šค๊ฐ€ ํ•˜๋‚˜๋งŒ ์กด์žฌํ•˜๋„๋ก ํ•˜๊ณ  ์‹ถ์„๋•Œ

new๋ฅผ ์‚ฌ์šฉํ•œ ๊ฐ์ฒด์ƒ์„ฑ์„ ๋”ฑ ํ•œ๋ฒˆ๋งŒ ํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Default Singleton ( eger)

๊ฐ€์žฅ ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์‹ฑ๊ธ€ํ†ค์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‚ญ๋น„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค

Instance field

default์™€ ๋˜‘๊ฐ™์ด Class loading์‹œ์ ์— ์ด๋ฏธ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ƒ์„ฑ๋˜์–ด ๋‚ญ๋น„๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

Lazy Loading

์ธ์Šคํ„ด์Šค ์ ‘๊ทผ ์‹œ์ ์— ์ดˆ๊ธฐํ™” ํ•˜์—ฌ ๋‚ญ๋น„๋ฅผ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋™๊ธฐํ™” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค syncronized ๋กœ ์ ‘๊ทผ์ œํ•œ์„ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

Standard

ํ˜„์žฌ ๊ฐ€์žฅ ๋งŽ์ด ์“ฐ์ด๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

Joshua

์กฐ์Šˆ์•„ ๋ธ”๋กœํฌ๊ฐ€ ์ œ์•ˆํ•œ ๋ฐฉ์‹์ž…๋‹ˆ๋‹ค.

Last updated