일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- web
- architecture
- instruction
- Algorithm
- computer
- for
- php
- react
- XML
- system
- data structure
- function
- DoM
- python
- control
- DB
- DATAPATH
- MacOS
- while
- MIPS
- Pipelining
- mysql
- Java
- github
- html
- Linux
- Class
- CSS
- DS
- javascript
- Today
- Total
YYYEJI
[DS] 객체지향(OOP) vs 절차지향(PP) 본문
절차지향(Precedural Programming)
절차지향이란 개체를 순차적 처리가 중요하며, 프로그램 전체가 유기적으로 연결되어 있는 프로그래밍 방법입니다.
절차지향의 장점
① 컴퓨터의 처리구조와 유사하다는 점
② 실행 속도가 빠르다는 것
절차지향의 단점
① 유지보수가 어렵다는 점
- 프로그램의 한 부분이 고장나면 시스템 전체가 고장난다는 의미입니다.
- 즉, 한 부분이 고장나면 프로그램의 전체를 수리해야 됩니다.
- 디버깅(프로그램의 문제를 찾아내서 고치는 과정)이 어렵습니다.
② 엄격하게 순서가 정해져 있어 비효율적이라는 점
- 실행 순서가 정해져 있어서 코드의 순서가 바뀌면 결과가 바뀔 확률이 높습니다.
- 언어의 융통성이 부족하여 생산 효율이 낮습니다.
절차지향 언어
C 언어 등
객체지향(Object-Oriented Language)
객체란 추상적인 무언가인데, 사물이 될 수도 있고 사람이 될 수도 있습니다.
컴퓨터를 예를 들면 컴퓨터에 쓰이는 모든 부품(모니터, 키보드, 스피커 등)들이 객체입니다.
컴퓨터가 제공하는 모든 기능(화면 켜짐, 소리가 남 등)들은 객체의 행동이라고 할 수 있습니다.
객체지향은 여러 객체를 만들고 객체의 행동을 정의해서 이를 상호작용 하도록 만드는 프로그래밍 언어입니다.
객체지향의 장점
① 재사용성
'상속(inheritance)'가 가능하기 때문에 코드 재사용이 편리합니다.
② 생산성 증가
독립된 객체로 이루어져 있기 때문에 생산적으로 작업할 수 있습니다.
③ 유지 및 보수 용이
객체지향의 단점
① 느린 개발 속도
모든 객체의 역할과 기능을 이해하는 시간이 필요합니다.
② 느린 실행 속도
절차지향언어보다 실행 속도가 느립니다.
③ 높은 난이도
객체지향언어
C++
Java
Python
등
◡̈
'Data structure' 카테고리의 다른 글
[DS] 연결 리스트(Linked List)란? (2) | 2022.12.29 |
---|---|
[DS] 큐(Queue)란? (0) | 2022.12.29 |
[DS] Stack 응용 (infix, prefix, postfix) (0) | 2022.12.28 |
[DS] 스택(Stack)이란? (0) | 2022.12.28 |
[DS] 데이터 구조(Data Structures)란? (0) | 2022.12.28 |