โœ๏ธ Framework๋ž€?

Framework๋ž€ ์†Œํ”„ํŠธ์›จ์–ด์˜ ๊ตฌ์ฒด์ ์ธ ๋ถ€๋ถ„์— ํ•ด๋‹นํ•˜๋Š” ์„ค๊ณ„์™€ ๊ตฌํ˜„์„ ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ์ผ๋ จ์˜ ํ˜‘์—…ํ™”๋œ ํ˜•ํƒœ๋กœ ํด๋ž˜์Šค๋“ค์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด๋‹ค.
ex) ์ž๋™์ฐจ์˜ ๋ผˆ๋Œ€๊ฐ€ ๋˜๋Š” ๊ฐ•ํŒ์œผ๋กœ ๋œ ๊ป๋ฐ๊ธฐ

โœ๏ธ Framework์˜ ์žฅ์ 

  • ํšจ์œจ์ ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
    -> ๊ฐœ๋ฐœํ•˜๊ณ ์ž ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ „๋ถ€ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ ์„œ๋กœ ๋‹ค๋ฅธ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐ„์˜ ํ†ต์‹ ์ด๋‚˜, ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ์ดํ„ฐ ์ €์žฅ์†Œ์— ์ €์žฅํ•˜๋Š” ๋“ฑ์˜ ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ๋“ค์„ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ˜•ํƒœ๋กœ ์ œ๊ณตํ•จ์œผ๋กœ์จ ๊ฐœ๋ฐœ์ž๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ•ต์‹ฌ ๋กœ์ง์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ด์ค€๋‹ค.

  • ์ •ํ•ด์ง„ ๊ทœ์•ฝ์ด ์žˆ์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.
    -> ์ •ํ•ด์ง„ ๊ทœ์•ฝ์— ๋งž๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•จ์œผ๋กœ, ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ ๋” ๋น ๋ฅด๊ณ  ์‰ฝ๊ฒŒ ๋ฌธ์ œ์ ์„ ํŒŒ์•…ํ•ด ์ˆ˜์ •ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋น„์Šทํ•œ ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•  ๋•Œ ์ฝ”๋“œ์˜ ์žฌ์‚ฌ์šฉ์ด ์šฉ์ดํ•˜๊ณ  ๊ธฐ๋Šฅ์˜ ํ™•์žฅ ๋˜ํ•œ ์‰ฝ๊ฒŒ ๊ฐ€๋Šฅํ•˜๋‹ค.

โœ๏ธ Framework์˜ ๋‹จ์ 

  • ๋‚ด๊ฐ€ ์‚ฌ์šฉํ•˜๊ณ ์ž ํ•˜๋Š” Framework์— ๋Œ€ํ•œ ํ•™์Šต์ด ํ•„์š”ํ•˜๋‹ค.
    -> Framework์—์„œ ์ •ํ•˜๋Š” ๊ทœ์•ฝ๋“ค์„ ํ•™์Šตํ•  ์‹œ๊ฐ„์ด ํ•„์š”ํ•˜๋‹ค.

  • ์ž์œ ๋กญ๊ณ  ์œ ์—ฐํ•œ ๊ฐœ๋ฐœ์ด ์–ด๋ ต๋‹ค.
    -> ์šฐ๋ฆฌ๊ฐ€ ์‚ฌ์šฉํ•˜๋Š” Framework์˜ ๊ทœ์•ฝ์„ ๋ฒ—์–ด๋‚˜๊ธฐ ์–ด๋ ต๋‹ค. ์ด๋ฏธ ๋งŒ๋“ค์–ด์ง„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ Framework๋ฅผ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜, ์œ ์—ฐํ•œ ๊ฐœ๋ฐœ์„ ์œ„ํ•ด Framework๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ฒŒ ๋ณ€๊ฒฝํ•  ๊ฒฝ์šฐ ๋งŽ์€ ์‹œ๊ฐ„๊ณผ ๋…ธ๋ ฅ์ด ํ•„์š”ํ•˜๋‹ค.

โœ๏ธ Framework VS Library

  • Library๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ์ผ๋ จ์˜ ๋ฐ์ดํ„ฐ ๋ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ฝ”๋“œ์ด๋‹ค.
    -> ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ๋•Œ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ๋ฏธ๋ฆฌ ๊ตฌํ˜„ํ•ด ๋†“์€ ์ง‘ํ•ฉ์ฒด
    ex) ์ž๋™์ฐจ ๋ฐ”ํ€ด, ์—”์ง„...

  • Framework๋ฅผ ๊ต์ฒดํ•˜๋Š” ์ผ์€ ์–ด๋ ต์ง€๋งŒ, Library๋Š” ์‰ฝ๊ฒŒ ๊ต์ฒด๊ฐ€ ๊ฐ€๋Šฅํ•˜๋ฉฐ ํ•„์š”ํ•œ Library๋“ค์„ ์„ ํƒ์ ์œผ๋กœ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

=> Framework๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ•ต์‹ฌ ๋กœ์ง์„ ๊ฐœ๋ฐœํ•˜๋Š” ๊ฒƒ์— ์ง‘์ค‘ํ•˜๋„๋ก ํ•ด์ค€๋‹ค.

=> Library๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ๋ฆ„์˜ ์ฃผ๋„๊ถŒ์ด ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์žˆ๋Š” ๋ฐ˜๋ฉด, Framework๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ๋ฆ„์˜ ์ฃผ๋„๊ถŒ์ด ๊ฐœ๋ฐœ์ž๊ฐ€ ์•„๋‹Œ Framework์— ์žˆ๋‹ค.

=> Framework๋Š” Library๋ฅผ ํฌํ•จํ•œ๋‹ค.

โœ๏ธ POJO

  • IoC/DI, AOP, PSA๋ฅผ ํ†ตํ•ด ๋‹ฌ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

  • 'PO'๋Š” java๋กœ ์ƒ์„ฑํ•˜๋Š” ์ˆœ์ˆ˜ํ•œ ๊ฐ์ฒด๋ฅผ ์˜๋ฏธํ•œ๋‹ค.

  • POJO ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ธฐ๋ณธ์ ์ธ ๊ทœ์น™
    -> Java๋‚˜ Java์˜ ์ŠคํŽ™(์‚ฌ์–‘)์— ์ •์˜๋œ ๊ฒƒ ์ด์™ธ์—๋Š” ๋‹ค๋ฅธ ๊ธฐ์ˆ ์ด๋‚˜ ๊ทœ์•ฝ์— ์–ฝ๋งค์ด์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค.
    -> ํŠน์ • ํ™˜๊ฒฝ์— ์ข…์†์ ์ด์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค.

โœ๏ธ POJO ํ”„๋กœ๊ทธ๋ž˜๋ฐ์ด ํ•„์š”ํ•œ ์ด์œ ๋Š”?

  • ํŠน์ • ํ™˜๊ฒฝ์ด๋‚˜ ๊ธฐ์ˆ ์— ์ข…์†์ ์ด์ง€ ์•Š์œผ๋ฉด ์žฌ์ƒ์šฉ์ด ๊ฐ€๋Šฅํ•˜๊ณ , ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ์œ ์—ฐํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

  • ์ €์ˆ˜์ค€ ๋ ˆ๋ฒจ์˜ ๊ธฐ์ˆ ๊ณผ ํ™˜๊ฒฝ์— ์ข…์†์ ์ธ ์ฝ”๋“œ๋ฅผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ฝ”๋“œ์—์„œ ์ œ๊ฑฐํ•จ์œผ๋กœ์จ ์ฝ”๋“œ๊ฐ€ ๊น”๋”ํ•ด์ง„๋‹ค.

  • ์ฝ”๋“œ๊ฐ€ ๊น”๋”ํ•ด์ง€๊ธฐ ๋•Œ๋ฌธ์— ๋””๋ฒ„๊น…ํ•˜๊ธฐ๋„ ์ƒ๋Œ€์ ์œผ๋กœ ์‰ฝ๋‹ค.

  • ํŠน์ • ๊ธฐ์ˆ ์ด๋‚˜ ํ™˜๊ฒฝ์— ์ข…์†์ ์ด์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ํ…Œ์ŠคํŠธ ์—ญ์‹œ ๋‹จ์ˆœํ•ด์ง„๋‹ค.

  • ๊ฐ์ฒด์ง€ํ–ฅ์ ์ธ ์„ค๊ณ„๋ฅผ ์ œํ•œ ์—†์ด ์ ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

โœ๏ธ POJO์™€ Spring์˜ ๊ด€๊ณ„

  • Spring์€ POJO ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ง€ํ–ฅํ•˜๋Š” Framework์ด๋‹ค.

โœ๏ธ IoC

  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ๋ฆ„์˜ ์ฃผ๋„๊ถŒ์ด ๋’ค๋ฐ”๋€Œ๋Š” ๊ฒƒ์ด๋‹ค.

  • Spring์— IoC์˜ ๊ฐœ๋…์ด ์ ์šฉ๋˜๋„๋ก ๋„์™€์ฃผ๋Š” ๊ฒƒ์€ DI์ด๋‹ค.

โœ๏ธ DI

  • DI๋Š” ์˜์กด์„ฑ ์ฃผ์ž…์ด๋‹ค.

โœ๏ธ AOP

  • ๊ด€์‹ฌ ์ง€ํ–ฅ ํ”„๋กœ๊ทธ๋žจ

  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฐœ๋ฐœํ•  ๋•Œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ „๋ฐ˜์— ๊ฑธ์ณ ๊ณตํ†ต์ ์œผ๋กœ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋Šฅ๋“ค์— ๋Œ€ํ•œ ๊ด€์‹ฌ์‚ฌ๋ฅผ ๊ณตํ†ต ๊ด€์‹ฌ ์‚ฌํ•ญ(=๋ถ€๊ฐ€์ ์ธ ๊ด€์‹ฌ ์‚ฌํ•ญ)์ด๋ผ๊ณ  ํ•œ๋‹ค.

  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ฃผ๋ชฉ์ ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ํ•ต์‹ฌ ๋กœ์ง์— ๋Œ€ํ•œ ๊ด€์‹ฌ์‚ฌ๋ฅผ ํ•ต์‹ฌ ๊ด€์‹ฌ ์‚ฌํ•ญ์ด๋ผ๊ณ  ํ•œ๋‹ค.

=> AOP๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ•ต์‹ฌ ์—…๋ฌด ๋กœ์ง์—์„œ ๋กœ๊น…, ๋ณด์•ˆ, ํŠธ๋ž™์žญ์…˜ ๊ฐ™์€ ๊ณตํ†ต ๊ธฐ๋Šฅ ๋กœ์ง๋“ค์„ ๋ถ„๋ฆฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

โœ๏ธ PSA

  • PSA๋Š” ์ถ”์ƒํ™”๋กœ ์–ด๋–ค ํด๋ž˜์Šค์˜ ๋ณธ์งˆ์ ์ธ ํŠน์„ฑ๋งŒ์„ ์ถ”์ถœํ•ด์„œ ์ผ๋ฐ˜ํ™” ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

=> ํด๋ผ์ด์–ธํŠธ๊ฐ€ ์ถ”์ƒํ™”๋œ ์ƒ์œ„ ํด๋ž˜์Šค๋ฅผ ์ผ๊ด€๋˜๊ฒŒ ๋ฐ”๋ผ๋ณด๋ฉฐ ํ•˜์œ„ ํด๋ž˜์Šค์˜ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ PSA์˜ ๊ธฐ๋ณธ ๊ฐœ๋…์ด๋‹ค.

=> ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ํŠน์ • ์„œ๋น„์Šค๋ฅผ ์ด์šฉ ํ•  ๋•Œ, ์„œ๋น„์Šค์˜ ๊ธฐ๋Šฅ์„ ์ ‘๊ทผํ•˜๋Š” ๋ฐฉ์‹ ์ž์ฒด๋ฅผ ์ผ๊ด€๋˜๊ฒŒ ์œ ์ง€ํ•˜๋ฉด์„œ ๊ธฐ์ˆ  ์ž์ฒด๋ฅผ ์œ ์—ฐํ•˜๊ฒŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

Spring์— ๋Œ€ํ•ด์„œ ๋“ค์–ด๋งŒ ๋ณด๋‹ค๊ฐ€ ์ด๋ฒˆ์— ์ฒ˜์Œ์œผ๋กœ ๊ณต๋ถ€ํ•˜๊ฒŒ ๋˜์—ˆ๋Š”๋ฐ ๋ญ”๊ฐ€ ์•Œ ๊ฒƒ ๊ฐ™์œผ๋ฉด์„œ๋„ ๋ชจ๋ฅด๊ฒ ๋‹ค,,, ๊ทธ๋ž˜๋„ Spring์„ ๋ฐฐ์›Œ์„œ ์ตํžˆ๋ฉด ํ›จ์”ฌ ํŽธํ• ๊ฒƒ ๊ฐ™๋‹ค๋Š” ๋Š๋‚Œ์ด ๋“ค์—ˆ๋‹ค..! ๋‹ค์Œ์— ๋‹ค์‹œ ๋ณผ ๋•Œ๋Š” ๋‹ค ์ดํ•ดํ–ˆ๊ธฐ๋ฅผ๐Ÿ™

0๊ฐœ์˜ ๋Œ“๊ธ€