절차지향 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

+ Recent posts