[Spring] AOP (Aspect-Oriented Programming) ๊ธฐ๋ณธ๊ณผ ๊ฐ๋
Spring์๋ AOP(Aspect-Oriented Programming, ๊ด์ ์งํฅ ํ๋ก๊ทธ๋๋ฐ)์ด๋ผ๋ ํต์ฌ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค. ์? OOP(๊ฐ์ฒด ์งํฅ ํ๋ก๊ทธ๋๋ฐ)๋ผ๋ ๊ฒ์ ๋ค์ด๋ดค๋๋ฐ, AOP๋ ๋ฌด์์ผ๊น์? AOP vs OOP ? ๊ด์ ์งํฅ ํ๋ก๊ทธ๋๋ฐ(AOP)์ ์ ํ๋ฆฌ์ผ์ด์ ์์ ์ฝ๋๊ฐ ์ค๋ณต๋๊ณ ๊ฐ๋ ฅํ๊ฒ ๊ฒฐํฉ๋์ด ๋ค๋ฅธ ๋ก์ง๊ณผ ๋ถ๋ฆฌํ ์ ์๋ ์ ํ๋ฆฌ์ผ์ด์ ๋ก์ง๋ค์ ๋ณ๋์ ๊ด์ฌ์ฌ๋ก ๋ถ๋ฆฌํ์ฌ ๋ชจ๋ํ ํ๋ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ๋ฒ์ ๋๋ค. ์ฐ๋ฆฌ๋ ๋ณดํต ์ด๋ฌํ ๋ก์ง์ ๋ง๋ฌ์ ๋ ์ฝ๋๋ฅผ ๋ณต์ ํ์ฌ ์์กด์ฑ์ ๋ง๋ค๊ฒ ๋๋๋ฐ, AOP๋ ์ด๋ฌํ ์์กด์ฑ ์์ด๋ ๋์ํ๊ฒ ํด์ค๋๋ค. ๋ํ์ ์ผ๋ก logging ์ฝ๋๋ค์ด ์ฌ๊ธฐ์ ํด๋นํฉ๋๋ค. ๊ทธ๋ ๋ค๋ฉด AOP์ OOP๋ ์๋ก ๊ฒฝ์ํ๋ ๊ด๊ณ์ธ๊ฐ์? ๊ทธ๊ฒ์ ์๋๋๋ค. ์๋ํ๋ฉด ์ฐ๋ฆฌ๋ OOP๋ง์ ๊ฐ์ง๊ณ ..