이 기사에서는 절차지향 프로그래밍과 객체지향 프로그래밍의 차이점을 논의하는 데 중점을 둡니다.
절차적 프로그래밍
절차적 프로그래밍은 프로시저 호출 개념을 기반으로 구조화된 프로그래밍에서 파생된 프로그래밍 모델로 정의할 수 있습니다. 루틴, 서브루틴 또는 함수라고도 알려진 프로시저는 단순히 수행할 일련의 계산 단계로 구성됩니다. 프로그램이 실행되는 동안 특정 프로시저는 다른 프로시저나 자체를 포함하여 언제든지 호출될 수 있습니다.
자바 배열에 추가하기
절차적 프로그래밍에 사용되는 언어:
포트란, 알골, 코볼,
BASIC, 파스칼, C.
객체 지향 프로그래밍
객체지향 프로그래밍은 객체 개념을 기반으로 한 프로그래밍 모델로 정의할 수 있습니다. 객체에는 속성 형태의 데이터와 메서드 형태의 코드가 포함됩니다. 객체 지향 프로그래밍에서 컴퓨터 프로그램은 현실 세계와 상호 작용하는 객체 개념을 사용하여 설계됩니다. 객체 지향 프로그래밍 언어는 다양하지만 가장 널리 사용되는 언어는 클래스 기반입니다. 즉, 객체는 클래스의 인스턴스이며 해당 유형도 결정합니다.
객체 지향 프로그래밍에 사용되는 언어:
자바, C++, C#, 파이썬,
PHP, 자바스크립트, 루비, 펄,
오브젝티브-C, 다트, 스위프트, 스칼라.
램 배우
절차적 프로그래밍과 객체 지향 프로그래밍
다음은 절차지향 프로그래밍과 객체지향 프로그래밍의 몇 가지 차이점입니다.
| 절차 지향 프로그래밍 | 객체 지향 프로그래밍 |
|---|---|
| 절차적 프로그래밍에서 프로그램은 다음과 같은 작은 부분으로 나누어집니다. 기능 . | 객체 지향 프로그래밍에서 프로그램은 다음과 같은 작은 부분으로 나뉩니다. 사물 . |
| 절차적 프로그래밍은 하향식 접근 방식 . | 객체 지향 프로그래밍은 다음을 따릅니다. 상향식 접근 방식 . |
| 절차적 프로그래밍에는 액세스 지정자가 없습니다. | 객체 지향 프로그래밍에는 개인, 공용, 보호 등과 같은 액세스 지정자가 있습니다. |
| 새로운 데이터와 기능을 추가하는 것은 쉽지 않습니다. | 새로운 데이터와 기능을 추가하는 것은 쉽습니다. |
| 절차적 프로그래밍에는 데이터를 숨기는 적절한 방법이 없습니다. 덜 안전하다 . | 객체지향 프로그래밍은 데이터 숨김 기능을 제공합니다. 더 안전해 . |
| 절차적 프로그래밍에서는 오버로딩이 불가능합니다. | 객체지향 프로그래밍에서는 오버로딩이 가능합니다. |
| 절차적 프로그래밍에는 데이터 숨김과 상속이라는 개념이 없습니다. | 객체지향 프로그래밍에서는 데이터 숨김과 상속이라는 개념이 사용됩니다. |
| 절차적 프로그래밍에서는 데이터보다 함수가 더 중요합니다. | 객체지향 프로그래밍에서는 데이터가 기능보다 더 중요합니다. |
| 절차적 프로그래밍은 다음을 기반으로 합니다. 비현실적인 세계 . | 객체 지향 프로그래밍은 다음을 기반으로 합니다. 현실 세계 . |
| 절차적 프로그래밍은 중간 규모의 프로그램을 설계하는 데 사용됩니다. | 객체 지향 프로그래밍은 크고 복잡한 프로그램을 설계하는 데 사용됩니다. |
| 절차적 프로그래밍은 절차 추상화 개념을 사용합니다. | 객체 지향 프로그래밍은 데이터 추상화 개념을 사용합니다. |
| 절차적 프로그래밍에는 코드 재사용성이 없습니다. | 객체 지향 프로그래밍에 코드 재사용성이 있습니다. |
| 예: C, FORTRAN, 파스칼, 베이직 등 | 예: C++, 자바, 파이썬, C# 등 |