우리가 알고 있듯이 객체 지향 프로그래밍 언어의 몇 가지 기본 기능은 상속, 캡슐화, 다형성입니다. 이러한 기능을 완벽하게 지원하는 모든 언어를 객체 지향 프로그래밍 언어라고 합니다. C++와 같은 일부 언어는 이 세 가지를 지원하지만 완전히 지원하지는 않으므로 부분적으로는 객체 지향 언어입니다. C++가 완전한 객체 지향 언어로 알려져 있지 않은 이유를 살펴보겠습니다.
- C++에서 실행을 시작하려면 main() 함수가 필요하지만 C++에서는 클래스 내부에 주요 함수가 없습니다. 따라서 C++에서 클래스를 사용하지 않고 코드를 작성할 수도 있습니다. JAVA와 같은 일부 OOP 언어는 파일 이름과 동일한 클래스가 하나 필요하며 그 안에 주요 기능이 있습니다.
- C++에서는 전역 변수를 사용할 수 있습니다. 그것은 어디에서나 액세스할 수 있습니다. 아무도 해당 데이터에 액세스하고 수정하도록 제한할 수 없으므로 데이터에 대한 개인 정보를 완전하게 보호하지 않으므로 부분적으로 캡슐화됩니다. JAVA에서는 클래스의 변수를 사용할 수 있으며 변수에 대한 액세스 지정자를 사용할 수도 있습니다.
- C++에는 친구 함수의 개념이 있습니다. friend 함수를 사용하여 한 클래스의 private 및 protected 멤버에 액세스할 수 있습니다. OOL의 개념도 바이올렛입니다. Java는 친구 기능을 지원하지 않습니다.