Notice
Recent Posts
Link
Today
Total
10-06 00:17
๊ด€๋ฆฌ ๋ฉ”๋‰ด

๋ชฉ๋ก๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (74)

dingdong coding

Factory Method Pattern

ํ•„์š”์„ฑ ๋จผ์ € Factory Method Pattern ํŒจํ„ด์„ ์™œ ์‚ฌ์šฉํ•ด์•ผํ•˜๋Š”์ง€์— ๋Œ€ํ•ด ์•Œ์•„๋ด…์‹œ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์ด ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์€ ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ธฐ๋Šฅ์˜ ๊ตฌํ˜„์€ ๊ฐœ๋ณ„ ํด๋ž˜์Šค๋ฅผ ํ†ตํ•ด ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•ฉ๋‹ˆ๋‹ค. ๋•Œ๋ฌธ์— ๊ธฐ๋Šฅ์˜ ๋ณ€๊ฒฝ์ด๋‚˜ ์ƒํ™ฉ์— ๋”ฐ๋ฅธ ๊ธฐ๋Šฅ ์„ ํƒ์€ ํ•ด๋‹น ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์ฝ”๋“œ์˜ ๋ณ€๊ฒฝ์„ ์ดˆ๋ž˜ํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ ์ ˆํ•œ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์ฝ”๋“œ๋Š” ์ž์ฃผ ์ค‘๋ณต๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•˜๋Š” ์ฝ”๋“œ๋ฅผ ์ถ”์ƒํ™”ํ•ด ํ•œ ๊ณณ์—์„œ ๊ด€๋ฆฌํ•˜์ง€ ์•Š์œผ๋ฉด ๋ณ€ํ™”๊ฐ€ ๋ฐœ์ƒ ํ–ˆ์„ ์‹œ ํ•ด๋‹น ํด๋ผ์ด์–ธํŠธ์˜ ์ฝ”๋“œ๋ฅผ ์ „๋ถ€ ์ˆ˜์ •ํ•ด์ฃผ์–ด์•ผํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๋‹ค๋ฉด ์™œ ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๋Š” ๊ณต์žฅ์ด ํ•„์š”ํ• ๊นŒ์š”? Factory Pattern Factory์˜ ๋œป์€ ๊ณต์žฅ์œผ๋กœ ์—ฌ๊ธฐ์„œ๋Š” ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ค์–ด๋‚ด๋Š” ๊ณต์žฅ(๋ชจ๋“ˆ)์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ..

๐ŸฐJAVA/Design Pattern 2022. 7. 5. 01:16
SERVER_NETWORK

1. ํŠธ๋ž˜ํ”ฝ์ด ๋งŽ์•„์ง€๋ฉด ์–ด๋–ป๊ฒŒ ๋˜๋Š”์ง€, ์–ด๋–ป๊ฒŒ ๋Œ€์ฒ˜ํ•ด์•ผ ํ•˜๋Š”์ง€ ์„ค๋ช…ํ•ด์ฃผ์„ธ์š” ( ์˜ˆ์ธก๋˜๋Š” ํ˜„์ƒ ๋ฐ ํ•ด๊ฒฐ ๋ฐฉํ–ฅ) ๋Œ€์šฉ๋Ÿ‰ ํŠธ๋ž˜ํ”ฝ์ด ๋ฐœ์ƒํ•˜๋ฉด ์„œ๋ฒ„๊ฐ€ ๋ ‰์ด ๊ฑธ๋ฆด์ˆ˜๋„ ์žˆ๊ณ  ๋งŒ์•ฝ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์˜ค๋ฒ„๊ฐ€ ๋œ๋‹ค๋ฉด out of memory๋“ฑ์˜ ์—๋Ÿฌ๋ฅผ ๋‚ด๋ฑ‰์œผ๋ฉด์„œ ์„œ๋ฒ„๊ฐ€ ๋ป—๊ฒŒ ๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋•Œ๋ฌธ์— ๋” ๋งŽ์€ ์‚ฌ์šฉ์ž๋ฅผ ์ˆ˜์šฉํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์„œ๋ฒ„ ๋ฆฌ์†Œ์Šค๋ฅผ ๋Š˜๋ ค์•ผ ํ•ฉ๋‹ˆ๋‹ค. 1) scale-up (์ˆ˜์ง ํ™•์žฅ) ๊ธฐ์กด ํ•œ ๋Œ€์˜ ์„œ๋ฒ„ ์„ฑ๋Šฅ์„ ๋†’์ด๋Š” ๋ฐฉ๋ฒ•์œผ๋กœ ์ด ๋ฐฉ๋ฒ•์€ ์ผ์‹œ์ ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋” ๋งŽ์ด ์‚ฌ์šฉ์ž๋“ค์ด ์ƒ๊ธด๋‹ค๋ฉด ์ถ”๊ฐ€ ๋œ ๋ฆฌ์†Œ์Šค ๋˜ํ•œ ๊ณ ๊ฐˆ๋ฉ๋‹ˆ๋‹ค. ๊ฒฐ๊ตญ ํ•œ ๋Œ€์˜ ์„œ๋ฒ„์„ฑ๋Šฅ์„ ๋†’์ด๋Š” ๋ฐฉ์‹์€ ๋ฆฌ์†Œ์Šค ํ•œ๊ณ„, ์„ฑ๋Šฅ ํ™•์žฅ์— ํ•œ๊ณ„๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋‹จ์ผ ์žฅ์•  ์ง€์ ์„ ๊ฐ–๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ํ•œ ๋Œ€์˜ ์„œ๋ฒ„๊ฐ€ ๋‹ค์šด ๋˜๋Š” ๊ฒฝ์šฐ ๋” ์ด์ƒ ์„œ๋ฒ„๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์—†..

๐ŸŽˆ์ทจ์ค€ 2022. 7. 3. 16:21
PROGRAMMING

1. ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ฐจ์ด์— ๋Œ€ํ•ด ์„ค๋ช…ํ•˜๊ณ , ๋ณธ์ธ์ด ์‚ฌ์šฉํ•ด ๋ณธ ๊ฒƒ๋“ค์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ด์ฃผ์„ธ์š” ํ”„๋ ˆ์ž„์›Œํฌ์™€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ ์ฐจ์ด๋Š” ์ œ์–ด ํ๋ฆ„์— ๋Œ€ํ•œ ์ฃผ๋„์„ฑ์ด ๋ˆ„๊ตฌ์—๊ฒŒ/์–ด๋””์— ์žˆ๋Š”๊ฐ€ ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ๋ฆ„์„ ๋ˆ„๊ฐ€ ์ฅ๊ณ  ์žˆ๋Š๋ƒ์— ๋”ฐ๋ผ ๋‹ฌ๋ ค ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ์ „์ฒด์ ์ธ ํ๋ฆ„์„ ์Šค์Šค๋กœ๊ฐ€ ์ฅ๊ณ  ์žˆ์œผ๋ฉฐ ์‚ฌ์šฉ์ž๋Š” ๊ทธ ์•ˆ์—์„œ ํ•„์š”ํ•œ ์ฝ”๋“œ๋ฅผ ๊ฐœ๋ฐœํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋ฉด ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ „์ฒด์ ์ธ ํ๋ฆ„์„ ๋งŒ๋“ค์—ฌ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐ€์ ธ๋‹ค ์“ฐ๋Š” ๊ฒƒ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋Š” ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ๊ฐ€์ ธ๋‹ค๊ฐ€ ์‚ฌ์šฉํ•˜๊ณ  ํ˜ธ์ถœํ•˜๋Š” ์ธก์— ์ „์ ์œผ๋กœ ์ฃผ๋„์„ฑ์ด ์žˆ์œผ๋ฉฐ ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ทธ ํ‹€ ์•ˆ์— ์ด๋ฏธ ์ œ์–ด ํ๋ฆ„์— ๋Œ€ํ•œ ์ฃผ๋„์„ฑ์ด ๋‚ด์žฌ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋ ˆ์ž„์›Œํฌ๋Š” ๊ฐ€์ ธ๋‹ค ์‚ฌ์šฉํ•œ๋‹ค๊ธฐ ๋ณด๋‹ค๋Š” ๊ฑฐ๊ธฐ์— ๋“ค์–ด๊ฐ€์„œ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ด€์ ์œผ๋กœ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค...

๐ŸŽˆ์ทจ์ค€ 2022. 7. 3. 15:06
[ JAVA ] Garbage Collection

GC ( Garbage Collection ) GC๋ž€ Heap ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์žฌํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•ด Root Set์—์„œ ์ฐธ์กฐ๋˜์ง€ ์•Š๋Š” ๊ฐ์ฒด๋“ค์„ ํ•ด์ œํ•ด ๊ฐ€์šฉ๊ฐ€๋Šฅํ•œ ๊ณต๊ฐ„์„ ๋งŒ๋“œ๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค. * ์ฐธ์กฐ๋œ ๊ฐœ์ฒด : ํ”„๋กœ๊ทธ๋žจ์˜ ์ผ๋ถ€๊ฐ€ ์—ฌ์ „ํžˆ ํ•ด๋‹น ๊ฐœ์ฒด์— ๋Œ€ํ•œ ํฌ์ธํ„ฐ๋ฅผ ์œ ์ง€ํ•˜๊ณ  ์žˆ์Œ์„ ์˜๋ฏธ * ์ฐธ์กฐ๋˜์ง€ ์•Š์€ ๊ฐœ์ฒด : ํ”„๋กœ๊ทธ๋žจ์˜ ์–ด๋–ค ๋ถ€๋ถ„์—์„œ๋„ ๋” ์ด์ƒ ์ฐธ์กฐ๋˜์ง€ ์•Š์Œ ๋”ฐ๋ผ์„œ ํ•ด๋‹น ๊ฐœ์ฒด๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ํšŒ์ˆ˜ ์ž๋ฐ”์—์„œ๋Š” ์ด๋Ÿฌํ•œ ๋ฉ”๋ชจ๋ฆฌ ํ•ด์ œ ์ž‘์—…์„ Garbage Colletor๊ฐ€ ๋‹ด๋‹นํ•˜๋ฉฐ, ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ•ด์ œํ•˜๋Š” ์ž‘์—…์€ Garbage Collection์ด๋ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰ null, System.gc() ๋ฉ”์„œ๋“œ๋ฅผ ํ˜ธ์ถœํ•˜๋Š” ๋“ฑ๊ณผ ๊ฐ™์ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •ํ•ด ํ•ด์ œํ•˜๋Š” ์ž‘์—…์€ ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค. null๋กœ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์€ ํฐ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š์ง€๋งŒ..

๐ŸฐJAVA/Basic 2022. 7. 1. 15:47
2022 ์ƒ๋ฐ˜๊ธฐ ๋งˆ๋ฌด๋ฆฌ

2022.02.18 ์กธ์—…๊ณผ ํ•จ๊ป˜ ๋Œ€ํ•™์ƒ์˜ ์‹ ๋ถ„์—์„œ ๋ฒ—์–ด๋‚˜ ๊ฐ•์ œ ๋ฐฑ์ˆ˜๊ฐ€ ๋๋‹ค. ๋Œ€ํ•™์ƒ๋•Œ๋งŒ ํ•ด๋„ ๊ณ„์† 1ํ•™๋…„์ผ ์ค„ ์•Œ์•˜์ง€... ์ •์‹ ์—†์ด 4๋…„์ด๋ผ๋Š” ์‹œ๊ฐ„์ด ํ˜๋Ÿฌ๋ฒ„๋ ธ๋‹ค. ๐Ÿ˜‚ ๋‹ค์‹œ ์ฐจ๊ทผ์ฐจ๊ทผ ์ž‘๋…„ 12์›”๋ถ€ํ„ฐ ์ƒ๊ฐํ•ด๋ณด์ž. 12์›”์€ ์ธํ„ด์ด ๋๋‚˜๋Š” ์‹œ๊ธฐ๋กœ ํฌ๋ฆฌ์Šค๋งˆ์Šค ์ด๋ฒคํŠธ ๋•Œ ์ฐ์€ ์‚ฌ์ง„ ํ•œ ์žฅ์ด ์ „๋ถ€๋‹ค ํšŒ์‚ฌ ์ƒํ™œ ์ค‘ ๋‚˜๋ฆ„ ์€์€ํ•œ ์†Œํ™•ํ–‰ ใ…‹ใ…‹ ์•„๋ฌดํŠผ 12์›” ์ธํ„ด์ด ๋๋‚˜๊ณ  ํ•™๊ต๋ž‘ ์•ˆ๋…•~~ + ์•Œ์ˆ˜์—†๋Š” ํ•ด๋ฐฉ๊ฐ ์ด ๋‘๊ฐ€์ง€ ์ƒ๊ฐ์— 1์›”๊นŒ์ง€ ์—ด์‹ฌํžˆ ๋…ธ๋Š”๋ฐ ์ง‘์ค‘ํ–ˆ๋‹ค. ์ •๋ง ์—ฌ๊ธฐ์ €๊ธฐ ๋‹ค๋‹ˆ๋ฉฐ ๋†€์•˜๋Š”๋ฐ ํ•„ ๋ฐ›์•„์„œ ๋ฒ„์Šคํƒ€๊ณ  ์–‘ํ‰๊นŒ์ง€ ๊ฐ„ ์ ๋„ ์žˆ๋‹ค. ์•„๋ฌดํŠผ ๊ทธ๋™์•ˆ ๋ฐ”๋น ์„œ ๋ชป๋ดค๋˜ ์นœ๊ตฌ๋“ค๋„ ๋งŒ๋‚˜๊ณ , ๊ฐ€์กฑ์ด๋ž‘ ๋ง›์žˆ๋Š” ๊ฒƒ๋„ ๋จน์œผ๋Ÿฌ ๋‹ค๋‹ˆ๊ณ  ์šด๋™๋„ ๋‹ค๋‹ˆ๊ณ  ๊ทธ๋™์•ˆ ์ฆ๊ธฐ์ง€ ๋ชปํ–ˆ๋˜ ๋‚ด ๋ผ์ดํ”„์— ๋” ์‹ ๊ฒฝ์ผ๋‹ค. ( = ๊ทธ๋ƒฅ ๋†€๊ธฐ๋งŒ ํ–ˆ๋‹ค๋Š” ๋œป ) ๊ทธ๋ ‡๊ฒŒ 1์›”์ด ..

โœ๏ธRetrospect/ETC 2022. 6. 29. 22:09
[JAVA ] Set Interface

SET INTERFACE • ์ €์žฅ ์ˆœ์„œ๊ฐ€ ์—†๋Š” ๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ์œผ๋กœ, ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ex) HashSet, LinkedHashSet( Hash Set์˜ ํ•˜์œ„ ํด๋ž˜์Šค ), TreeSet 1. HashSet • Hash๊ธฐ๋Šฅ๊ณผ Set ์ปฌ๋ ‰์…˜์ด ํ•ฉ์ณ์ง„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. • Hash Algorithm ์— ์˜ํ•ด ๋ฐ์ดํ„ฐ์˜ ์œ„์น˜๋ฅผ ํŠน์ •์‹œ์ผœ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ๋น ๋ฅด๊ฒŒ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋งŒ๋“  ๊ฒƒ์ž…๋‹ˆ๋‹ค. • ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ Set ์ปฌ๋ ‰์…˜์˜ ํด๋ž˜์Šค๋กœ ์ž…๋ ฅ์ˆœ์„œ์— ์ƒ๊ด€์—†์ด ์ €์žฅ๋˜์–ด ์ •๋ ฌํ•ด์ฃผ์ง€ ์•Š๊ณ  ์ค‘๋ณต๋œ ๊ฐ’์€ ์ €์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. • ๋งŒ์•ฝ ์š”์†Œ์˜ ์ €์žฅ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•ด์•ผ ํ•œ๋‹ค๋ฉด LinkedHashSet ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค. • Null ์š”์†Œ๋„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค. Hash Algorithm : ํ•ด์‹œ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ํ•ด์‹œ ํ…Œ์ด๋ธ”์— ..

๐ŸฐJAVA/Basic 2022. 6. 28. 14:08
Monolithic Architecture, Micro Service Architecture

Monolithic Architecture, Micro Service Architecture (MSA) ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ ์ „ ๋จผ์ € ๋‘ ์•„ํ‚คํ…์ณ๋ฅผ ๋น„๊ตํ•˜๋Š” ๊ทธ๋ฆผ์„ ์‚ดํŽด๋ด…์‹œ๋‹ค. ** ์™ผ์ชฝ์€ ๋ชจ๋†€๋ฆฌ์‹(Monolithic), **์˜ค๋ฅธ์ชฝ์€ ๋งˆ์ดํฌ๋กœ ์„œ๋น„์Šค(Micro Service) ๋ณด๋‹ค์‹ถ์ด Monolithic์€ ํ•˜๋‚˜์˜ Project๋กœ ํ†ตํ•ฉ๋˜์–ด ๊ฐœ๋ฐœ๋˜๋Š”, MSA๋Š” ๋ชจ๋“ˆ๋ณ„๋กœ ๊ฐœ๋ฐœํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ๋ณธ๊ฒฉ์ ์œผ๋กœ ๋‘ ์•„ํ‚คํ…์ณ์˜ ํŠน์ง•๊ณผ ์žฅ๋‹จ์ ์„ ์•Œ์•„๋ด…์‹œ๋‹ค. Monolithic Architecture ๊ธฐ์กด์— ์‚ฌ์šฉํ•˜๋˜ ์ „ํ†ต์  ๊ฐœ๋ฐœ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ชจ๋“  ์‹œ์Šคํ…œ, ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ตฌ์„ฑ์š”์†Œ๊ฐ€ ํ•œ ํ”„๋กœ์ ํŠธ์— ํ†ตํ•ฉ๋˜์–ด ์žˆ๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. 1 Project : 1 Application์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด ๋ณดํ†ต ๋™์ผํ•œ ๊ฐœ๋ฐœ ํˆด์„ ์ด์šฉํ•ด ๊ฐœ๋ฐœํ•˜..

๐ŸŒˆWeb & Network 2022. 6. 27. 13:09
Bean Scope - ProtoType Scope

Bean Scope ๋Š” ๋ง๊ทธ๋Œ€๋กœ ๋นˆ์ด ์กด์žฌํ•˜๋Š” ๋ฒ”์œ„๋ฅผ ๋œปํ•ฉ๋‹ˆ๋‹ค. Bean Life Cycle ์—์„œ ์‚ดํŽด๋ดค๋“ฏ์ด ๋นˆ์€ ์ปจํ…Œ์ด๋„ˆ์˜ ์‹œ์ž‘๊ณผ ํ•จ๊ป˜ ์ƒ์„ฑ๋˜์–ด์„œ Container๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์œ ์ง€๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ Spring Container๋Š” ๋นˆ์„ ๋“ฑ๋กํ•  ๋•Œ ๊ธฐ๋ณธ์ ์œผ๋กœ ๊ฐ์ฒด ์ธ์Šคํ„ด์Šค(Bean)๋ฅผ ์‹ฑ๊ธ€ํ†ค์œผ๋กœ ๋“ฑ๋กํ•˜๊ณ  ์‹ฑ๊ธ€ํ†ค ์Šค์ฝ”ํ”„๋กœ ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค. ( ๊ธฐ๋ณธ์ ์œผ๋กœ ๋ชจ๋“  ๋นˆ์€ ์Šค์ฝ”ํ”„๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์ •๋˜์ง€ ์•Š์œผ๋ฉด ์‹ฑ๊ธ€ํ†ค์ด๋‹ค ) ๋Œ€์ƒ ํด๋ž˜์Šค์— @Scope( ) ์–ด๋…ธํ…Œ์ด์…˜์„ ํ†ตํ•ด ์Šค์ฝ”ํ”„ ์ง€์ • //์ปดํฌ๋„ŒํŠธ ์Šค์บ” ์ž๋™ ๋“ฑ๋ก @Scope("prototype") // @Scope(”singletone”) @Component public class HelloBean {} //์ˆ˜๋™๋“ฑ๋ก @Scope("prototype") // @Scope(..

๐ŸSpring/Basic 2022. 6. 23. 23:00
Bean Life Cycle

Spring Container๋Š” ์ž๋ฐ” ๊ฐ์ฒด(Bean)์˜ ์ƒ์„ฑ๊ณผ ์†Œ๋ฉธ ๊ฐ™์€ ์ƒ๋ช…์ฃผ๊ธฐ(Life Cycle)๋ฅผ ๊ด€๋ฆฌํ•˜๋ฉฐ, ์ƒ์„ฑ๋œ ์ž๋ฐ” ๊ฐ์ฒด๋“ค์—๊ฒŒ ์ถ”๊ฐ€์ ์ธ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. Bean Life Cycle • Spring์˜ Bean์€ Java ๋˜๋Š” XML bean ์ •์˜๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์‹œ์ž‘๋  ๋•Œ ์ธ์Šคํ„ด์Šคํ™” ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. • Bean์„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ƒํƒœ๋กœ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด ์‚ฌ์ „, ์‚ฌํ›„ ์ดˆ๊ธฐํ™” ๋‹จ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. • ๊ทธ ํ›„ Bean์ด ๋” ์ด์ƒ ํ•„์š”ํ•˜์ง€ ์•Š์œผ๋ฉด Ioc Container์—์„œ ์ œ๊ฑฐ๋ฉ๋‹ˆ๋‹ค. • ๋‹ค๋ฅธ ์‹œ์Šคํ…œ ๋ฆฌ์†Œ์Šค๋ฅผ ํ•ด์ œํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์ „ ๋ฐ ์‚ฌํ›„ ์†Œ๋ฉธ ๋‹จ๊ณ„๋ฅผ ์ˆ˜ํ–‰ํ•ด์•ผํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, Bean์˜ Life Cycle์ด๋ž€ ํ•ด๋‹น ๊ฐ์ฒด๊ฐ€ ์–ธ์ œ, ์–ด๋–ป๊ฒŒ ์ƒ์„ฑ๋˜์–ด ์†Œ๋ฉธ๋˜๊ธฐ ์ „๊นŒ์ง€ ์–ด๋–ค ์ž‘..

๐ŸSpring/Basic 2022. 6. 23. 02:23