절차지향 vs 객체지향
절차지향
하나의 데이터로 모든 프로시저가 공유하고 있기때문에 데이터를 변경할 경우 많은 프로시저에 영향을 끼친다. 이때문에 데이터 변경이 어렵다.ㅜ웛
- 장점
- 유지보수를 신경쓰지 않아도되기 때문에, 설계부터 구현까지 객체지향에 비해 시간이 오래걸리지 않는다.
- 단점
- 수정이 어렵기때문에 유지보수가 필요한 대형 프로젝트에서 사용하기에 부적합하다.
객체지향
데이터와 코드가 객체로 캡슐화 되어있다. 데이터와 코드가 캡슐화되어있는 객체끼리 서로 상호작용한다.
- 장점
- 절차지향과 다르게 데이터와 코드의 변경은 외부에 영향을 미치지않는다.
- 외부에 노출된 인터페이스만 변경되지 않는다면 프로시저를 실행하는데 필요한 만큼의 데이터만 가진다.
- 비교적 유지보수가 수월하기때문에 대형 프로젝트에서 사용하기에 적합하다.
- 객체끼리 서로 상호작용하기 때문에, 코드의 재사용성을 높일 수 있다.
- 단점
- 절차지향에 비해 속도가 느리다.
- 설계에 시간을 사용한만큼 유지보수가 수월하기때문에, 설계단계에서 시간이 많이 소모된다.
'JAVA' 카테고리의 다른 글
Clean Code (0) | 2022.11.04 |
---|---|
[Java 8] Metaspace (0) | 2022.10.18 |
[JAVA 8] ParallelSort (0) | 2022.10.15 |
[Java 8] CompletableFuture (0) | 2022.10.13 |
[Java 8] Date와 Time (0) | 2022.10.12 |