일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- instruction
- Java
- system
- DoM
- control
- Algorithm
- php
- Linux
- for
- architecture
- XML
- DATAPATH
- web
- python
- html
- Pipelining
- computer
- function
- MIPS
- CSS
- javascript
- mysql
- github
- MacOS
- react
- DS
- data structure
- while
- Class
- DB
- 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 |