Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++와 자바의 차이점


자바 C++
Java는 Sun Microsystems의 James Gosling이 개발했습니다. C++는 C 언어의 확장으로 Bell Labs의 Bjarne Stroustrup에 의해 개발되었습니다.
Ada 83, Pascal, C++, C#의 영향을 받았습니다. Ada, ALGOL 68, C, ML, Simula, Smalltalk의 영향을 받았습니다.
Java 바이트코드는 모든 운영 체제에서 작동합니다. 라이브러리는 시스템마다 다르기 때문에 모든 운영 체제에서 작동하는 것은 아닙니다.
모든 OS에서 실행할 수 있습니다. 플랫폼에 따라 다르게 컴파일되어 어떤 OS에서도 실행할 수 없습니다.
휴대용입니다. 휴대용이 아닙니다.
해석된 언어입니다. 컴파일된 언어입니다.
메모리 관리가 자동으로 수행됩니다. 메모리 관리는 수동으로 수행됩니다.
'가상' 키워드가 없습니다. '가상' 키워드가 있습니다.
단일 상속만 지원합니다. 다중 상속은 인터페이스를 사용하여 달성할 수 있습니다(부분만). 단일 및 다중 상속을 지원합니다.
연산자 오버로딩을 지원하지 않습니다. 연산자 오버로딩을 지원합니다.
포인터에 대한 제한된 지원을 제공합니다. 포인터 연산을 지원합니다.
높은 수준의 기능을 가지고 있습니다. 낮은 수준의 기능을 가지고 있습니다.
직접 네이티브 라이브러리 호출을 지원하지 않습니다. 직접 시스템 라이브러리 호출을 지원합니다.
소스 코드에 대한 문서 주석(/**.. */)을 지원합니다. 소스 코드에 대한 문서 주석을 지원하지 않습니다.
스레드 연산을 지원합니다. 설계상 스레드를 지원하지 않습니다. 타사 스레딩 라이브러리를 사용하여 수행할 수 있습니다.
입력을 위해 System.in과 같은 'System' 클래스를 사용합니다. 입력 연산에 'cin'을 사용합니다.
출력을 위해 System.out을 사용합니다. 출력 작업에 'cout'을 사용합니다.
출력을 위해 System.out을 사용합니다. 출력 작업에 'cout'을 사용합니다.
전역 범위를 지원하지 않습니다. 전역 범위와 네임스페이스 범위를 지원합니다.
구조 및 조합을 지원하지 않습니다. 구조와 조합을 지원합니다.
'goto' 키워드가 없습니다 'goto' 키워드를 지원합니다.
Pass by Value 방식만 지원합니다. 값에 의한 전달 및 참조 방법에 의한 전달을 지원합니다.
가비지 컬렉터를 이용하여 자동으로 객체 관리를 수행합니다. '새로 만들기'와 '삭제'를 통해 수동으로 개체 관리를 수행합니다.