라벨이 프로그래밍인 게시물 표시

절차 지향 vs 객체지향 프로그래밍

이미지
절차지향(procedural Programming)  절차지향 프로그래밍 은 물이 위에서 아래로 흐르는 것처럼 순차적인 처리 가 중요시 되고 프로그램 전체가 유기적으로 연결되도록 만드는 프로그래밍 기법을 말합니다. 대표적인 절차지향 언어에는 C언어가 있는데, 이는 컴퓨터의 작업 처리 방식과 유사하기 때문에 객체지향 언어를 사용하는 것에 비해 더 빨리 처리되어 시간적으로 유리하다고 볼수 있습니다. 옛날에는 하드웨어와 소프트웨어의 개발 속도차이가 크지 않았다면 지금은 하드웨어의 개발속도가 소프트웨어의 속도를 따라오지 못하는 상황이 발생합니다.  이는 객제치향 언어 가 나타나면서 이러한 현상이 존재하게되었습니다.  장점 - 컴퓨터의 처리구조와 유사해 실행속도가 빠르다 - 메모리를 직접 조작할수있다. 단점 - 유지보수가 어렵다 - 실행 순서가 정해져 있어 코드의 순서가 바뀌면 동일한 결과를 보장하기 힘들다. - 원하는 기능의 코드를 가져와서 복붙하면 오류가 발생함 객체지향(Object Oriented Programming) 객제치향 은  절차지향 언어와 달리 실제 세계를 모델링 하여 소프트웨어를 개발할수 있다  우리가 흔히 보는 의자 책상 등 을 하나의 객체로 프로그래밍 할수 있는 것이다. 객제치향 프로그래밍에서는 데이터와 절차를 하나의 덩어리로 묶어서 생각해야되고 마치 컴퓨터 부품을 하나씩 모아서 조립하는 것처럼 각 기능들을 불러와서 자신이 원하는 소프트웨어를 개발하는 것이다. 1. 캡슐화 - 캡슐화란 관련된 데이터와 알고리즘(코드)이 하나의 묶음 으로 정리된 것으로    이러한 기능을 이용하여 개발자가 직접 개발하기 보다는 기존에 만들어져 있던 정형화된   코드들을 가져온다 , 관련된 코드와 데이터가 묶여있고 오류가 없어 사용이 편리하다.   또한 데이터를 감추고 외부 세계와의 상호작용은 메소드 를 통하는...