logo

C++ 대 자바

사이에는 많은 차이점과 유사점이 있습니다. C++ 프로그래밍 언어와 자바 . C++와 Java의 주요 차이점 목록은 다음과 같습니다.

비교지수 C++자바
플랫폼 독립적 C++는 플랫폼에 따라 다릅니다.Java는 플랫폼 독립적입니다.
주로 사용 C++는 주로 시스템 프로그래밍에 사용됩니다.Java는 주로 응용프로그램 프로그래밍에 사용됩니다. Windows 기반, 웹 기반, 엔터프라이즈 및 모바일 애플리케이션에서 널리 사용됩니다.
디자인 목표 C++는 시스템 및 애플리케이션 프로그래밍을 위해 설계되었습니다. 의 연장선이었습니다. C 프로그래밍 언어 .Java는 인쇄 시스템용 인터프리터로 설계 및 제작되었지만 나중에 지원 네트워크 컴퓨팅으로 확장되었습니다. 더 많은 사람들이 쉽게 사용할 수 있고 접근할 수 있도록 설계되었습니다.
이동 C++에서는 goto 문을 지원합니다.Java에서는 goto 문을 지원하지 않습니다.
다중 상속 C++에서는 다중 상속을 지원합니다.Java는 클래스를 통한 다중 상속을 지원하지 않습니다. 이는 다음을 사용하여 달성할 수 있습니다. 자바의 인터페이스 .
연산자 오버로딩 C++ 지원 연산자 오버로딩 .Java는 연산자 오버로딩을 지원하지 않습니다.
포인터 C++에서는 포인터를 지원합니다. C++로 포인터 프로그램을 작성할 수 있습니다.Java는 내부적으로 포인터를 지원합니다. 그러나 Java에서는 포인터 프로그램을 작성할 수 없습니다. 이는 Java가 Java에서 포인터 지원을 제한했음을 의미합니다.
컴파일러와 인터프리터 C++에서는 컴파일러만 사용합니다. C++는 소스 코드를 기계 코드로 변환하는 컴파일러를 사용하여 컴파일되고 실행되므로 C++는 플랫폼에 따라 다릅니다.Java는 컴파일러와 인터프리터를 모두 사용합니다. Java 소스 코드는 컴파일 시 바이트코드로 변환됩니다. 인터프리터는 런타임에 이 바이트코드를 실행하고 출력을 생성합니다. Java는 해석되므로 플랫폼 독립적입니다.
값에 의한 호출 및 참조에 의한 호출 C++에서는 값에 의한 호출과 참조에 의한 호출을 모두 지원합니다.Java는 값별 호출만 지원합니다. Java에는 참조에 의한 호출이 없습니다.
구조와 결합 C++는 구조체와 공용체를 지원합니다.Java는 구조와 공용체를 지원하지 않습니다.
스레드 지원 C++에는 스레드에 대한 기본 지원이 없습니다. 스레드 지원을 위해 타사 라이브러리를 사용합니다.자바에는 내장되어 있습니다 지원하다.
문서 설명 C++에서는 문서 주석을 지원하지 않습니다.Java는 Java 소스 코드에 대한 문서를 생성하기 위해 문서 주석(/** ... */)을 지원합니다.
가상 키워드 C++에서는 함수를 재정의할지 여부를 결정할 수 있도록 가상 키워드를 지원합니다.Java에는 가상 키워드가 없습니다. 기본적으로 모든 비정적 메서드를 재정의할 수 있습니다. 즉, 비정적 메서드는 기본적으로 가상입니다.
부호 없는 오른쪽 시프트 >>> C++에서는 >>> 연산자를 지원하지 않습니다.Java는 음수의 상단을 0으로 채우는 부호 없는 오른쪽 시프트 >>> 연산자를 지원합니다. 양수의 경우 >> 연산자와 동일하게 작동합니다.
상속 트리 C++에서는 항상 새로운 상속 트리를 만듭니다.모든 클래스는 Java의 Object 클래스의 하위 클래스이므로 Java는 항상 단일 상속 트리를 사용합니다. Object 클래스는 클래스의 루트입니다. 계승 자바의 트리.
하드웨어 C++는 하드웨어에 더 가깝습니다.Java는 하드웨어와 대화형이 아닙니다.
객체지향 C++는 객체 지향 언어입니다. 그러나 C 언어에서는 단일 루트 계층 구조가 불가능합니다.자바는 또한 객체지향 언어. 그러나 기본 유형을 제외한 모든 것은 Java의 객체입니다. 모든 것이 java.lang.Object에서 파생되므로 이는 단일 루트 계층 구조입니다.

메모

  • Java는 C++와 같은 기본 인수를 지원하지 않습니다.
  • Java는 C++와 같은 헤더 파일을 지원하지 않습니다. Java는 import 키워드를 사용하여 다양한 클래스와 메소드를 포함합니다.

C++ 프로그램 예

파일: main.cpp

 #include using namespace std; int main() { cout << 'Hello C++ Programming'; return 0; } 

산출:

 Hello C++ Programming 

자바 프로그램 예

파일: Simple.java

 class Simple{ public static void main(String args[]){ System.out.println('Hello Java'); } } 

산출:

 Hello Java