JAVA
절차지향 vs 객체지향
qazyj
2022. 11. 4. 12:49
절차지향 vs 객체지향
절차지향
하나의 데이터로 모든 프로시저가 공유하고 있기때문에 데이터를 변경할 경우 많은 프로시저에 영향을 끼친다. 이때문에 데이터 변경이 어렵다.ㅜ웛
- 장점
- 유지보수를 신경쓰지 않아도되기 때문에, 설계부터 구현까지 객체지향에 비해 시간이 오래걸리지 않는다.
- 단점
- 수정이 어렵기때문에 유지보수가 필요한 대형 프로젝트에서 사용하기에 부적합하다.
객체지향
데이터와 코드가 객체로 캡슐화 되어있다. 데이터와 코드가 캡슐화되어있는 객체끼리 서로 상호작용한다.
- 장점
- 절차지향과 다르게 데이터와 코드의 변경은 외부에 영향을 미치지않는다.
- 외부에 노출된 인터페이스만 변경되지 않는다면 프로시저를 실행하는데 필요한 만큼의 데이터만 가진다.
- 비교적 유지보수가 수월하기때문에 대형 프로젝트에서 사용하기에 적합하다.
- 객체끼리 서로 상호작용하기 때문에, 코드의 재사용성을 높일 수 있다.
- 단점
- 절차지향에 비해 속도가 느리다.
- 설계에 시간을 사용한만큼 유지보수가 수월하기때문에, 설계단계에서 시간이 많이 소모된다.