절차지향
절차에 따라 진행하는 방식, 작업 순서대로 진행하게 되어있음.
장점 : 컴퓨터의 처리방식과 유사하므로 실행이나 처리 속도가 빠름
단점 : 유지보수가 어려움, 순서가 바뀌면 결과값이 바뀜.
객체지향
절차보다는 객체, 하나의 object에 집중하여 진행하는 방식
작게 구분한 단위인 클래스 등으로 이루어져 있음.
장점 : 잘 설계된 클래스를 만들어서 라이브러리로 재사용하면 생산성이 향상됨. 수정해야할 부분이 클래스 내부에 변수 혹은 메서드로 존재하기 때문에 유지보수가 쉬움. 객체 단위로 모듈화시켜서 개발할 수 있기 때문에 여러 명이 투입되는 대형프로젝트에서 업무분담에 용이함.
단점 : 객체가 많아지면 용량이 커짐. 설계 시 많은 시간이 소요됨.
처리속도가 상대적으로 느림.