아무거나

객체지향 vs 절차지향 본문

Java/Java

객체지향 vs 절차지향

전봉근 2019. 6. 25. 10:09
반응형

웹개발 할때 필요한 수많은 프로그래밍 언어중에 자바를 공부하는 이유 하나만 말하자면, 자바는 객체를 지향하는 언어라 사용하기 쉽고 편리하기 때문인데요.

 

객체 지향이 무엇인지 알아보자면 그 반대인 절차지향 언어와 비교해서 한번 알아보면 이해하기 쉽습니다.

 

대표적으로 C언어가 절차지향 언어로 프로그램의 데이터를 처리하는 방법인 알고리즘을 중요시하며 순차적으로 실행하는 구조를 가집니다. 헷갈리기 쉬운점은 절차지향을 사용할때 외부적으로 객체지향과 같은 처리를 하는걸로 보일 수 있으나, 여기서 말하는 순차적 실행은 프로그래밍 내부적으로 함수 호출을 할때 순서대로 처리하는걸로 이해하시면 되겠습니다.

 

 

1. 절차지향 언어

   - 장점

     # 완성된 코드의 실행처리 속도가 빠르다.

     # 초기 프로그래밍 언어로 컴퓨터의 처리구조와 비슷해 실행속도가 빠르다.

   - 단점

     # 유지보수가 어렵다.

     # 정해진 순서대로 입력을 해야되므로 순서가 바뀌면 결과값을 도출하기 어렵다.

     # 프로그램을 분석하기 어렵다.

     # 대형 프로젝트에는 부적합

 

2. 객체지향 언어

   - 장점

     # 코드의 재활용이 가능(heep영역에 만들어 놓고 필요할때 꺼내 쓰기 때문에 코드의 재활용이 가능하다.)

     # 유지보수 및 업그레이드가 쉽다.

     # 디버깅이 쉽다.

     # 대형 프로젝트에 적합

     # 분석과 설계의 전환이 쉽다.

     # 캡슐화, 다형성, 상속의 특징이 있다.

   - 단점

     # 처리속도가 상대적으로 다소 느리다.

     # 객체가 많으면 프로그램 용량이 커질수도 있다.

     # 설계에 많은 시간이 투자된다. (설계가 실패하면 매우 큰 문제를 초래한다.)​ 

반응형

'Java > Java' 카테고리의 다른 글

split 메서드 사용시 실수(. 관련)  (0) 2019.06.25
객체지향 프로그래밍  (0) 2019.06.25
입력과 출력  (0) 2019.06.24
public static void main(String args[]) 의미  (0) 2019.06.24
Map (Collection) 배열 생성 <Key, Value>  (0) 2019.06.20
Comments