산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

C++ 대 JAVA:차이점은 무엇입니까?

C++ 언어란 무엇입니까?

C++는 C 프로그래밍 언어의 기능과 Simula67(첫 번째 객체 지향 언어)을 포함하는 컴퓨터 프로그래밍 언어입니다. C++는 클래스와 객체의 개념을 도입했습니다.

고급 및 저급 언어 기능을 캡슐화합니다. 따라서 중급 언어로 간주됩니다. 이전에는 C 언어의 모든 속성을 가지고 있기 때문에 "C with classes"라고 불렸습니다.

자바 언어란 무엇입니까?

Java는 Sun Microsystems에서 개발한 프로그래밍 언어입니다. 소규모 소프트웨어 개발 팀이 이 언어를 개발했습니다. 그들은 1991년에 Java 언어를 시작한 Green Team으로 알려졌습니다.

C++의 역사

C++ 언어는 AT &T Bell Laboratories의 Bjarne Stroustrup에 의해 개발되었습니다. Stroustrup은 C의 강력한 지지자이자 Simula67의 팬이었습니다. 그는 두 언어의 장점을 결합하기를 원했습니다. 그는 객체 지향 프로그래밍 기능을 지원하면서도 여전히 C의 힘을 유지하는 언어를 만드는 것을 목표로 하고 있었습니다. 그 결과 C++가 탄생했습니다.

자바의 역사

Java 언어는 처음에 OAK라고 불렸습니다. 원래는 장치 및 셋톱 박스를 처리하기 위해 개발되었습니다. 오크는 큰 실패였습니다. 따라서 1995년 Sun은 이름을 Java로 변경하고 급성장하는 World Wide Web 개발 비즈니스를 활용하기 위해 언어를 수정했습니다.

나중에 2009년에 Oracle Corporation은 Sun Microsystems를 인수하고 두 가지 주요 Sun 소프트웨어 자산인 Java 및 Solaris의 소유권을 인수했습니다.

주요 차이점:

<중앙>

<그림>

C++와 자바의 차이점

매개변수 C++ 자바
관계 클래스 이름과 파일 이름 사이에는 엄격한 관계가 없습니다. C++에서는 헤더 파일과 구현 파일이 특정 클래스에 사용됩니다. 엄격한 관계가 적용됩니다. 예를 들어 PayRoll 클래스의 소스 코드는 PayRoll.java에 있어야 합니다.
입력 메커니즘 I/O 문은 in 및 cout을 사용합니다(예:in » x; cout« y; I/O 입력 메커니즘은 한 번에 한 바이트(System.in)를 읽기 때문에 상당히 복잡합니다. 출력이 쉽습니다. System.out.println(x);
컴파일러 및 인터프리터 C++는 컴파일러만 지원 Java는 컴파일러와 인터프리터를 모두 지원합니다.
다른 언어와의 호환성 일부 예외적인 경우를 제외하고 C 소스 코드와 호환됩니다. 이전 언어와의 역호환성이 없습니다. 구문은 C/C++의 영향을 받습니다.
접근 제어 및 개체 보호 지속적인 보호가 가능한 유연한 모델 성가신 모델은 약한 캡슐화를 권장합니다.
개념 어디에서나 한 번 컴파일하면 쓰기 한 번 쓰기는 어디에서나 실행
프로그래밍 유형 지원 절차적 프로그래밍과 객체 지향 프로그래밍을 모두 허용합니다. 객체 지향 프로그래밍 모델을 지원합니다.
인터페이스 네이티브 시스템 라이브러리에 대한 직접 호출을 허용합니다. Java Native Interface 및 최근에는 Java Native Access를 통해서만 호출
메모리 관리 프로그래머가 액세스 가능 시스템 제어
루트 계층 구조 C++에는 그러한 루트 계층이 없습니다. C++는 절차 및 객체 지향 프로그래밍을 모두 지원합니다. 따라서 하이브리드 언어라고 합니다. Java는 순수한 객체 지향 프로그래밍 언어입니다. 그건. 이유 단일 루트 계층 구조를 따릅니다.
최고의 기능 C++는 객체 지향 기능을 지원합니다. 절차적 프로그래밍 기능입니다. Java는 자동 가비지 수집을 지원합니다. C++처럼 소멸자를 지원하지 않습니다.
Goto 문 C++에는 goto 문이 있습니다. 하지만 goto 문을 사용하는 것은 이상적이지 않습니다. 자바에는 goto 문이 없습니다. 키워드 got 및 const는 사용되지 않더라도 예약되어 있습니다.
다중 상속 C++는 다중 상속을 제공합니다. 가상 키워드는 다중 상속 중에 문제가 있는 경우 이를 해결하는 데 사용됩니다. 자바는 다중 상속을 제공하지 않습니다.
범위 분석 연산자 C++에는 범위 확인 연산자 (: :)가 있습니다. 클래스 외부에서 메소드를 정의하고 동일한 이름의 로컬 변수가 존재하는 범위 내에서 전역 변수에 액세스하는 데 사용됩니다. 범위 확인 연산자 없음 (: :) 자바에서. 메서드 정의는 클래스 내에서 발생해야 하므로 범위 확인이 필요하지 않습니다.
지원 방법 C++는 메서드 오버로딩과 연산자 오버로딩을 모두 지원합니다. Java는 메소드 오버로딩만 지원합니다. 연산자 오버로딩을 지원하지 않습니다.
휴대성 플랫폼에 대해 소스를 다시 컴파일해야 합니다. 따라서 코드는 이식성이 없습니다. 바이트코드 클래스는 플랫폼별 JVM으로 전송할 수 있습니다.
유형 의미 기본 유형과 객체 유형 간에 일관성이 있습니다. 프리미티브 및 객체 유형이 다릅니다.
라이브러리 주로 낮은 수준의 기능 고수준 서비스를 위한 대규모 수업
런타임 오류 감지 프로그래머의 책임. 시스템 책임.
기능 및 데이터 함수와 데이터는 모든 클래스 외부에 존재할 수 있으며 전역 및 네임스페이스 범위를 사용할 수 있습니다. 모든 기능과 데이터는 클래스 내에 존재합니다. 패키지 범위를 사용할 수 있습니다.
플랫폼 C++ 프로그램은 플랫폼에 따라 다릅니다. 특정 플랫폼에 맞게 컴파일해야 합니다. 자바 프로그램은 플랫폼에 독립적입니다. Java 프로그램은 JVM(Java Virtual Machine)용으로 작성되었습니다. 다시 컴파일할 필요 없이 실행됩니다.
런타임 오류 감지 C++에서 오류를 확인하는 것은 프로그래머의 책임입니다. 프로그램의 오류를 확인하는 것은 시스템의 책임입니다.
포인터 C++ 지원 포인터. 자바는 포인터에 대해 제한된 지원만 제공합니다.
구조 구조를 지원합니다. 구조물을 지원하지 않습니다.
노조 C++는 공용체를 지원합니다. 자바는 공용체를 지원하지 않습니다.
객체 관리 C++는 new 및 delete 키워드의 도움으로 수동 개체 관리를 지원합니다. Java는 자동 가비지 수집에 크게 의존합니다. 소멸자를 지원하지 않습니다.

java

  1. Java의 인터페이스 대 추상 클래스:차이점은 무엇입니까?
  2. AC 및 DC 발전기의 차이점
  3. 정전 대 정전:차이점은 무엇입니까?
  4. 열가소성 플라스틱 대 열경화성 플라스틱:차이점은 무엇입니까?
  5. DC 대 AC 모터:차이점은 무엇입니까?
  6. 금속 가공과 금속 용접의 차이점은 무엇입니까?
  7. 스틸 앵글 대 알루미늄 앵글:차이점은 무엇입니까?
  8. 순수 대 연마제 워터젯 절단 - 차이점은 무엇입니까?
  9. 호흡 공기와 압축 공기 – 차이점은 무엇입니까?
  10. PSI, PSIA 및 PSIG:차이점은 무엇입니까?