⚠️ 해당 게시글은 모던애자일 팀원이 준비한 테크톡 내용입니다.
출처 : 모던애자일 3기 백승범
https://blog.naver.com/wer06099/222665396666
절차지향
- 순서를 중요시하는 프로그래밍 방식
- 프로젝트 개발을 예로 들자면, 맨 처음 디자인이 만들어 지고, 디자인에 따라 각 기능별로 DB의 기능을 구축하고,
그 다음 코드를 작성해야 합니다. 이 처럼 순서가 틀리면 안됩니다. 절차지향 프로그래밍 역시 이와 같습니다.
- 대표적인 언어로는 C, Fortran, Pascal, COBOL 가 있습니다.
절차지향 특징
- 위에서 아래로 코드가 실행되는 Top-Down 방식
- 공통된 기능을 하나의 함수로 구현하여 프로그램을 실행하는 특징
절차지향 장점
1. 빠른 실행속도
- 컴퓨터의 처리방식과 유사하여 빠른 실행속도를 가지고 있다.
2. 프로그래밍에 들이는 시간과 비용이 비교적 적다.
절차지향 단점
1. 유지보수의 어려움
- 모든 구성요소가 유기적으로 연결되어 있다는 말은, 하나가 고장났을 때 시스템 전체가 고장난다는 뜻입니다.
또한 문제를 해결하기 위해 일부분이 아닌 시스템 전체를 수리해야 한다는 말이기도 합니다.
2. 엄격하게 순서가 정해져 있어 비효율적
- 실행 순서가 정해져 있기 때문에 코드의 순서가 바뀌면 결과가 달라질 가능성이 높습니다.
객체지향
- 프로그램을 다수의 객체로 만들고, 이들끼리 서로 상호작용하도록 하는것,
데이터와 절차를 하나의 덩어리로 묶어 생각.
컴퓨터의 부품 -> 데이터, 조립 -> 절차 같은 개념으로 생각하면 이해가 편하다.
객체지향 특징
1. 캡슐화
- 데이터와 알고리즘을 하나로 묶어 하나의 캡슐처럼 만드는 것, 이 특징 때문에 데이터와 코드의 형태를 외부에서 알 수 없다.
2. 상속
- 부모가 자식에게 유전자를 물려주듯, 상위 클래스의 모든 것을 하위 클래스가 이어 받는 것.
3. 다형성
- 상속과 연관된 개념으로, 하나의 객체가 다른 여러 객체로 재구성 되는것
※ 오버로드, 오버라이드를 생각
4. 추상화
- 실존하는 객체의 여러 특성 중, 프로그램을 만드는데 필요한 부분만 파악해서 추출하고 필요하지 않은 것은 제거
절차지향 VS 객체지향
절차지향 - 순서를 중요시하는 프로그래밍 방식 - 프로젝트 개발을 예로 들자면, 맨 처음 디자인이 만들어 ...
blog.naver.com
절차지향 VS 객체지향
절차지향 - 순서를 중요시하는 프로그래밍 방식 - 프로젝트 개발을 예로 들자면, 맨 처음 디자인이 만들어 ...
blog.naver.com
절차지향 VS 객체지향
절차지향 - 순서를 중요시하는 프로그래밍 방식 - 프로젝트 개발을 예로 들자면, 맨 처음 디자인이 만들어 ...
blog.naver.com
절차지향 VS 객체지향
절차지향 - 순서를 중요시하는 프로그래밍 방식 - 프로젝트 개발을 예로 들자면, 맨 처음 디자인이 만들어 ...
blog.naver.com
절차지향 VS 객체지향
절차지향 - 순서를 중요시하는 프로그래밍 방식 - 프로젝트 개발을 예로 들자면, 맨 처음 디자인이 만들어 ...
blog.naver.com
절차지향 VS 객체지향
절차지향 - 순서를 중요시하는 프로그래밍 방식 - 프로젝트 개발을 예로 들자면, 맨 처음 디자인이 만들어 ...
blog.naver.com
절차지향 VS 객체지향
절차지향 - 순서를 중요시하는 프로그래밍 방식 - 프로젝트 개발을 예로 들자면, 맨 처음 디자인이 만들어 ...
blog.naver.com
절차지향 VS 객체지향
절차지향 - 순서를 중요시하는 프로그래밍 방식 - 프로젝트 개발을 예로 들자면, 맨 처음 디자인이 만들어 ...
blog.naver.com
절차지향 VS 객체지향
절차지향 - 순서를 중요시하는 프로그래밍 방식 - 프로젝트 개발을 예로 들자면, 맨 처음 디자인이 만들어 ...
blog.naver.com
절차지향 VS 객체지향
절차지향 - 순서를 중요시하는 프로그래밍 방식 - 프로젝트 개발을 예로 들자면, 맨 처음 디자인이 만들어 ...
blog.naver.com
절차지향 VS 객체지향
절차지향 - 순서를 중요시하는 프로그래밍 방식 - 프로젝트 개발을 예로 들자면, 맨 처음 디자인이 만들어 ...
blog.naver.com

객체지향 장점
1. 재사용성
- 상속이 가능하기 때문에 코드를 재사용 할 수 있어 편리
2. 생산성 증가
- 독립된 객체로 이루어져있기 때문에 생산적으로 작업할 수 있고, 유지 및 보수가 용이하다.
객체지향 단점
1. 느린 개발 속도
- 모든 객체의 역할과 기능을 이해해야 하기 때문에, 프로그래밍에 많은 시간이 소요된다.
2. 느린 실행 속도
- 객체간의 캡슐화로 인해 실행속도가 느리다.
절차지향 vs 객체지향

절차지향의 예시를 들자면 자판기의 동작과정을 예시로 들을 수 있다.
자판기의 실행순서를 설명하자면
1. 고객이 돈을 넣는다.
2. 해당 제품의 버튼을 누른다.
3. 돈이 제품의 가격보다 많은지 적당한지 부족한지를 판단한다.
4. 돈이 제품의 가격보다 많다면 제품과 함께 거스름돈을 건내준다.
이 처럼 순차적으로 돌아가는 방식이 절차 지향인 것이다.
객체지향의 예시로는 장난감 조립을 예시로 들을 수 있다.
머리, 팔, 다리, 몸통 각각의 세부적인 기능들을 만들어 놓고, 어떤 모습으로 이어 붙일지는 장난감을 조립하는 사용자의 판단으로 만들어 질것입니다.
최근댓글