추천, 2024

에디터의 선택

OOP와 POP의 차이점

프로 시저 지향 프로그래밍 (POP)과 객체 지향 프로그래밍 (OOP)은 모두 프로그래밍을위한 고급 언어를 사용하는 프로그래밍 방식입니다. 프로그램은 두 언어로 작성 될 수 있지만 작업이 매우 복잡하면 OOP가 작동합니다 잘 POP에 비해. POP에서 '데이터 보안'은 프로그램에서 데이터가 자유롭게 움직일뿐만 아니라 '코드 재사용 성'이 달성되지 않아 프로그래밍이 길어지고 이해하기 어렵 기 때문에 위험합니다. 대형 프로그램은 더 많은 버그를 발생시키고 디버깅 시간을 증가시킵니다. 이러한 모든 결함은 "객체 지향 프로그래밍"이라는 새로운 접근 방식을 제시합니다. 객체 지향 프로그래밍에서 주요 관심사는 '데이터 보안'입니다. 데이터를 조작하는 기능과 밀접하게 데이터를 바인드합니다. 또한 클래스가 생성 된 것처럼 클래스가 정의한 멤버 및 멤버 함수를 재사용하는 여러 인스턴스 (객체)를 만들 수있는 것처럼 '코드 재사용 가능성'문제를 해결합니다.

비교 차트의 도움으로 설명 할 수있는 몇 가지 다른 차이점이 있습니다.


비교 차트
비교를위한 근거OOP
기본
절차 / 구조 지향.
객체 지향.
접근위에서 아래로.상향식.
기초주요 초점은 프로그램의 절차 나 구조에 대한 즉 "작업 완료 방법"에 있습니다.주요 초점은 '데이터 보안'입니다. 따라서 객체 만 클래스의 엔티티에 액세스 할 수 있습니다.
분할대형 프로그램은 함수라고하는 단위로 나뉩니다.전체 프로그램은 여러 개의 객체로 나뉩니다.
엔티티 액세스 모드액세스 지정자는 관찰되지 않았습니다.
액세스 지정자는 "public", "private", "protected"입니다.
오버로딩 / 다형성함수 나 연산자에 과부하가 걸리지 않습니다.함수, 생성자 및 연산자를 오버로드합니다.
계승그들의 유산은 없습니다.상속은 공개 및 비공개의 세 가지 모드로 이루어집니다.
데이터 숨기기 및 보안데이터를 숨길 수있는 적절한 방법이 없으므로 데이터가 안전하지 않습니다.데이터는 공개, 개인 및 보호의 세 가지 모드로 숨겨져 있습니다. 따라서 데이터 보안이 향상됩니다.
데이터 공유전역 데이터는 프로그램의 함수간에 공유됩니다.데이터는 멤버 함수를 통해 객체간에 공유됩니다.
친구 함수 / 클래스친구 기능의 개념이 없습니다.클래스 또는 함수는 키워드 "friend"를 가진 다른 클래스의 친구가 될 수 있습니다.
참고 : "friend"키워드는 C ++에서만 사용됩니다.
가상 클래스 / 함수가상 클래스의 개념이 없습니다.가상 함수의 개념은 상속 중에 나타납니다.
C, VB, FORTRAN, 파스칼C + +, 자바, VB.NET, C #. NET.

객체 지향 프로그래밍 (OOP)의 정의

OOP의 주된 관심사는 클래스의 비 멤버 함수에서 데이터를 숨기는 것입니다. 클래스의 비 멤버 함수는 "중요 정보"처럼 취급합니다. 데이터는 클래스에서 작동하는 클래스의 멤버 함수와 밀접하게 연결됩니다. 비회원 기능이 그 내부의 데이터를 수정할 수는 없습니다. 객체는 멤버 함수를 통해 서로 통신하여 데이터에 액세스합니다.

OOP는 "객체", "클래스", "데이터 캡슐화 또는 추상화", "상속"및 "다형성 / 과부하"의 기본 개념으로 개발됩니다. OOP에서 프로그램은 데이터와 기능을 분할하여 모듈로 나눌 수 있으며 필요한 경우 모듈의 새 복사본을 만들기위한 템플릿으로 사용할 수 있습니다.

프로 시저 지향 프로그래밍 (POP)의 정의

POP는 일반적인 프로그래밍 방식입니다. 프로 시저 프로그래밍은 주로 순차적 인 순서로 작업을 수행하는 데 초점을 둡니다. 순서도는 프로그램 제어의 흐름을 구성합니다. 프로그램이 크면 전역 데이터를 공유하는 함수라고하는 작은 단위로 구성됩니다. 여기서는 데이터 보안 문제가 발생합니다. 기능에 의해 의도하지 않은 프로그램 변경이 있기 때문입니다.

OOP와 POP의 주요 차이점

  1. POP는 프로 시저 지향 프로그래밍이지만 OOP는 객체 지향 프로그래밍입니다.
  2. POP의 주요 초점은 "작업 완료 방법"입니다. 작업을 완료하기 위해 순서도를 따르는 것입니다. OOP의 주요 초점은 클래스의 객체 만 클래스의 속성이나 함수에 액세스 할 수 있으므로 데이터 보안입니다.
  3. 이 기능은 주요 작업을 수행하기 위해 실행되는 대형 프로그램의 작은 단위입니다. OOP에서 클래스의 속성과 기능은 객체로 나뉩니다.
  4. POP에는 프로그램의 속성이나 기능에 액세스하는 특정 액세스 모드가 없지만 OOP에는 속성이나 기능에 액세스하기위한 액세스 공유로 사용되는 "public", "private", "protected"의 세 가지 액세스 모드가 있습니다 .
  5. POP는 오버로딩 / 다형성 개념을 지원하지 않습니다. OOP는 다른 기능을 수행하기 위해 동일한 함수 이름을 사용하는 것을 의미하는 오버로드 / 다형성을 지원합니다. OOP에서 함수, 생성자 및 연산자를 오버로드 할 수 있습니다.
  6. POP에는 상속의 개념이 없지만 OOP는 상속을 통해 다른 클래스의 속성과 기능을 사용할 수있는 상속을 지원합니다.
  7. OOP에서 액세스 지정자는 보안을 증가시키는 속성 또는 기능에 대한 액세스를 제한하기 때문에 POP는 OOP와 비교하여 덜 안전합니다.
  8. POP에서 일부 데이터가 프로그램의 모든 기능에서 공유되는 경우 모든 기능 외부에서 전역 적으로 선언됩니다. OOP에서 클래스의 데이터 멤버는 클래스의 멤버 함수를 통해 액세스 할 수 있습니다.
  9. POP에는 friend 함수에 대한 개념이 없지만 OOP에는 friend 클래스의 구성원이 아닌 friend 함수 개념이 있지만 friend 멤버이므로 클래스의 데이터 멤버 및 멤버 함수에 액세스 할 수 있습니다.
  10. POP에는 가상 클래스의 개념이 없지만 OOP에서는 가상 함수가 다형성을 지원합니다.

결론

POP의 결함은 OOP의 필요성을 야기합니다. OOP는 "객체"와 "클래스"의 개념을 도입하여 POP의 결함을 수정합니다. 데이터 보안 및 객체의 자동 초기화 및 정리를 향상시킵니다. OOP를 사용하면 간섭없이 객체의 여러 인스턴스를 만들 수 있습니다.

Top