pat coding

[Spring] AOP(관점지향)와 OOP(객체지향)의 차이? 본문

Interview

[Spring] AOP(관점지향)와 OOP(객체지향)의 차이?

uuukpyo 2019. 11. 14. 23:28
728x90

Spring AOP란?

OOP를 대신하는 개념이아니라, OOP를 더욱 OOP스럽게 사용할 수 있도록 도와주는 개념이다.

OOP의 한계를 극복하기 위한 패러다임이다.

 

OOP는 객체를 재사용함으로 코드의 중복을 많이 줄일 수 있었지만, 그럼에도 반복되는 코드를 없앨수는 없다.

근데 AOP는 이러한 부분을 해결해준다. OOP에서는 공통적인 기능을 각 객체의 횡단으로 입력했다면,

AOP는 공통적인 기능을 종단간으로 삽입할 수 있도록 한 것이다.

OOP로직에서 각 객체별로 처리했던 것들을 각 관점별로 외부에서 접근하는 것이 AOP의 핵심이다.

 

AOP의 가장 큰 특징이자 장점은 중복되는 코드 제거, 재활용성의 극대화, 변화수용의 용이성이 좋다는 점이다.

728x90
Comments