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

๊ฐ์ฒด์ง€ํ–ฅ2

[๋ฉด์ ‘] ๊ฐ์ฒด์ง€ํ–ฅ๊ณผ ๊ด€์ ์ง€ํ–ฅ ์„ค๋ช… ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (OOP) ์™œ ๊ฐ‘์ž๊ธฐ ์ƒ์ถ” ์‚ฌ์ง„์ด๋ƒ๊ตฌ์š”? ๊ฐ์ฒด์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ํŠน์„ฑ์„ ์ž˜ ์•”๊ธฐํ• ์ˆ˜์žˆ๋Š” ๋ฌธ์žฅ์ด์žˆ์Šต๋‹ˆ๋‹ค. ์บก ์ƒ ์ถ” ๋‹ค!!!!!!!!!!!!!!! * ์บก์Аํ™” : ๋ฐ์ดํ„ฐ ๋ณดํ˜ธ / ๋ถˆํ•„์š”ํ•œ ๋ถ€๋ถ„์„ ๊ฐ์ถœ ์ˆ˜ ์žˆ๋‹ค. (์ ‘๊ทผ ์ œ์–ด์ž / ์ธํ„ฐํŽ˜์ด์Šค ๋“ฑ) * ์ƒ์† : ๊ธฐ์กด์˜ ํด๋ž˜์Šค๋ฅผ ์žฌ์‚ฌ์šฉํ•ด์„œ ์ƒˆ๋กœ์šด ํด๋ž˜์Šค๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๊ฒƒ (class ์ž์†ํด๋ž˜์Šค extends ์กฐ์ƒํด๋ž˜์Šค {...}) * ์ถ”์ƒํ™” : ์ถ”์ƒํด๋ž˜์Šค / ์ถ”์ƒ๋ฉ”์„œ๋“œ / ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์˜ˆ๋กœ ์„ค๋ช… * ๋‹คํ˜•์„ฑ : ํ•˜๋‚˜์˜ ์ฐธ์กฐ๋ณ€์ˆ˜๋กœ ์—ฌ๋Ÿฌ ํƒ€์ž…์˜ ๊ฐ์ฒด๋ฅผ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ ( ์กฐ์ƒํƒ€์ž…์˜ ์ฐธ์กฐ๋ณ€์ˆ˜๋กœ ์ž์†ํƒ€์ž…์˜ ๊ฐœ์ฒด๋ฅผ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ ํ•œ์ค„์š”์•ฝ : ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์„ฑ์„ ๋†’์ด๊ณ  ๊ด€๋ฆฌ๊ฐ€ ์šฉ์ดํ•˜๋‹ค. ์ฝ”๋“œ์˜ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๊ณ  ๋ถˆ์ผ์น˜๋กœ ์ธํ•ด ์˜ค๋ฅ˜๋ฅผ ๋ฐฉ์ง€ํ•œ๋‹ค. ๋ฉ”์†Œ๋“œ ํ•˜๋‚˜ (.. 2021. 6. 29.
Singleton(์‹ฑ๊ธ€ํ†ค ํŒจํ„ด) I.์‹ฑ๊ธ€ํ†ค ์†Œํ”„ํŠธ์›จ์–ด ๋””์ž์ธ ํŒจํ„ด์—์„œ ์‹ฑ๊ธ€ํ„ด ํŒจํ„ด(Singleton pattern)์„ ๋”ฐ๋ฅด๋Š” ํด๋ž˜์Šค๋Š”, ์ƒ์„ฑ์ž๊ฐ€ ์—ฌ๋Ÿฌ ์ฐจ๋ก€ ํ˜ธ์ถœ๋˜๋”๋ผ๋„ ์‹ค์ œ๋กœ ์ƒ์„ฑ๋˜๋Š” ๊ฐ์ฒด๋Š” ํ•˜๋‚˜์ด๊ณ  ์ตœ์ดˆ ์ƒ์„ฑ ์ดํ›„์— ํ˜ธ์ถœ๋œ ์ƒ์„ฑ์ž๋Š” ์ตœ์ดˆ์˜ ์ƒ์„ฑ์ž๊ฐ€ ์ƒ์„ฑํ•œ ๊ฐ์ฒด๋ฅผ ๋ฆฌํ„ดํ•œ๋‹ค. ์ด์™€ ๊ฐ™์€ ๋””์ž์ธ ์œ ํ˜•์„ ์‹ฑ๊ธ€ํ„ด ํŒจํ„ด์ด๋ผ๊ณ  ํ•œ๋‹ค. ์ฃผ๋กœ ๊ณตํ†ต๋œ ๊ฐ์ฒด๋ฅผ ์—ฌ๋Ÿฌ๊ฐœ ์ƒ์„ฑํ•ด์„œ ์‚ฌ์šฉํ•˜๋Š” DBCP(DataBase Connection Pool)์™€ ๊ฐ™์€ ์ƒํ™ฉ์—์„œ ๋งŽ์ด ์‚ฌ์šฉ๋œ๋‹ค. ์‰ฝ๊ฒŒ๋งํ•ด ์ธ์Šคํ„ด์Šค๋ฅผ ๋‚จ์šฉ์‹œํ‚ค์ง€์•Š๋Š”๋‹ค. ์‹ฑ๊ธ€ํ„ด ํŒจํ„ด์€ ํ•˜๋‚˜์˜ ๊ฐ์ฒด๋งŒ์„ ์ƒ์„ฑํ›„ ํ˜ธ์ถœ๋œ ๊ณณ์—์„œ๋Š” ์ƒ์„ฑ๋œ ๊ฐ์ฒด๋ฅผ ๋ฐ˜ํ™˜ํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ ์ „๋ฐ˜์ ์œผ๋กœ ๋‹จ ํ•˜๋‚˜์˜ ์ธ์Šคํ„ด์Šค๋งŒ์„ ์‚ฌ์šฉํ•˜๊ฒŒ ํ•˜๋Š” ํŒจํ„ด์ด๋‹ค. 2. ์‹ฑ๊ธ€ํ†ค์„ ํ™œ์šฉํ•œ ์˜ˆ์ œ ๊นƒํ—ˆ๋ธŒ ๋งํฌ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 .. 2021. 2. 4.