본문 바로가기
Software Engineering

객체 지향 vs 절차 지향

by Doromi 2019. 4. 25.
728x90
반응형

객체지향 기법이란?

 

기계적인 부품들을 조립하여 제품을 만들듯이

소프트웨어를 개발할 때에도 객체들을 조립해서 작성할 수 있도록 하는 기법이다.

 


장점으로는?

 

소프트웨어의 재사용 및 확장이 용이
유지보수가 쉽다.

 

 

구성요소로는?

 

객체(Object), 클래스(Class), 메시지(Message)가 있다.

 

 

 

객체란?

 

실제로 존재하는 구체적인 대상 또는 시스템

객체는 다른 객체와 구분되며 유일하다.

객체는 상태 (Attribute)와 행위(Method)를 가진다.

 

데이터와 데이터를 처리하는 함수를 묶어 놓은 하나의 소프트웨어 모듈이다.

데이터는 객체가 가지고 있는 정보로 속성이나 상태 분류 등을 나타낸다.
속성으로는 상태, 변수, 상수, 자료구조라고도 한다.

함수는 객체가 수행하는 기능으로 객체가 갖는 데이터를 처리하는 알고리즘이다.

 

 

클래스란?

 

동일한 유형을 가진 객체들을 표현하는 추상화한 타입

 

추상적인 개념인 클래스로부터 실체인 객체를 생성하는 과정을 인스턴스화라고 하고

인스턴스화 과정에서 생성된 실체 객체를 인스턴스라고 한다.

 

 

 

메시지란?

 

객체들 간에 상호작용을 하는데 사용되는 수단

객체에게 어떤 행위를 하도록 지시하는 명령 또는 요구사항

 

 

 


 

 

절차지향이란?

 

순차적인 처리가 중요시 되며 프로그램 전체가 유기적으로 연결되도록  만드는 프로그래밍 기법이다.

대표적으로  c언어

컴퓨터의 작업 처리 방식과 유사하기 때문에 객체지향 언어를 사용하는 것에 비해 더 빨리 처리되어 시간적으로 유리하다.
하지만 기술이 발전하고, 소프트웨어와 하드웨어가 발전함에 따라 상황은 달라졌다.
객체지향 프로그래밍은 개발하려는 것을 기능별로 묶어 모듈화를 함으로써 하드웨어가 같은 기능을 중복으로 연산하지
않도록 하고, 모듈을 재활용하기 때문에 하드웨어의 처리량을 획기적으로 줄여준다.


 

728x90
반응형

'Software Engineering' 카테고리의 다른 글

Architecture patterns  (0) 2024.04.18
객체 지향 프로그래밍의 5원칙(SOLID)  (0) 2019.04.24
Architectural Views  (0) 2019.04.20
Architectural Design  (0) 2019.04.20
System Modeling  (0) 2019.04.20