컴퓨터일반
절차지향 프로그래밍과 객체지향 프로그래밍
◇ 절차지향 프로그래밍(구조적 프로그램)
순차적인 처리가 중요시 하는 기법. 프로그램 전체가 유기적으로 연결되도록 함.
▷ 특징
◦ 인터프리터 번역 방식 사용
◦ 순차적 처리 중요시
◦ 실행 순서가 정해져 있으므로 코드의 순서가 바뀌면 동일한 결과를 보장하기 어렵다.
▷ 장점
◦ 컴퓨터의 처리구조와 유사해 실행속도가 빠르다.
▷ 단점
◦ 유지보수와 디버깅이 어렵다.
▷ 프로그램
◦ Basic. C언어 등
◇ 객체지향 프로그래밍
객체를 중심으로 한 프로그래밍 기법. 실세계의 현상을 컴퓨터상에 객체로 실현(모델화)하여,
컴퓨터를 자연스러운 형태로 사용하는 기법
▷ 특징: 상속성, 캡슐화, 추상화, 다형성
◦ 상속성: 기존에 만들어진 객체를 이어받아 재활용하여 새로운 객체를 생성하는 기법
◦ 캡슐화: 관련된 코드와 데이터를 묶음으로 정리하는 것
◦ 추상화: 공동의 속성이나 기능을 묶어 추출하는 것(모듈이나 특징들을 뭉침)
◦ 다형성: 같은 작업을 하는 함수들에게 똑같은 이름을 부여. 코드를 간단하게 만듬. 이름으로 많은 상황에 대처
▷ 장점
◦ 코드의 재사용과 유지보수가 용이
◦ 업그레이드와 디버깅이 쉬움
◦ 신뢰성 있는 소프트웨어를 쉽게 작성 가능
◦ 대형 프로젝트 개발에 용이
▷ 프로그램
◦ Smaltalk, C++, Java 등
◇ 정리
절차지향은 데이터 중심. 객체지향은 기능 중심
절차지향의 반대는 객체지향이 아니고 , 객체지향의 반대는 절차지향이 아니다.