Spring/Springboot
📝 절차지향 / 객체지향 / 관점지향 프로그래밍 정리
늘이
2022. 11. 18. 01:17
절차적 프로그래밍 (PP; Procedure Programming)
- procedure(main 함수, 메소드 등)를 이용하여 작성하는 프로그래밍 스타일이다.
- 순차적인 처리를 중요시 여기며, 프로그램 전체가 유기적으로 연결되도록 한다.
- 컴퓨터의 처리 구조와 비슷해 실행속도가 빠르지만 확장성이 떨어지며 유지보수가 어렵다.
객체지향 프로그래밍(OOP; Object Oriented Programming)
- 프로그래밍에 필요한 attribute와 method를 포함한 class를 정의하고, 정의된 class를 통해서 object를 생성하여 object들 간의 유기적인 상호작용을 통해 로직을 구성하는 프로그래밍 방식
- 유지보수가 보다 수월하지만 설계에 필요한 시간이 크다.
관점지향 프로그래밍(AOP; Aspect Oriented Programming)
- OOP를 더욱 발전시키기 위한 개념으로서 하나의 소프트웨어가 하나의 거대한 OOP로서 설계, 프로그래밍 되었다면 이것을 각 기능별로 모듈화 해서 분리를 시키는 개념이다.
- 각각의 OOP에서 공통적인 관심 기능을 처리하는 모듈을 분리해서 개발한 후, 필요한 시점에 자동으로 공통적인 관심 기능이 삽입되도록한다.