Java와 C++은 문법적으로 상당히 유사하며 객체 지향 언어라는 점에서 공통점이 있지만, 다양한 차이점들이 존재한다. 어떤 차이점들이 있는지 하나씩 살펴보자
실행 환경
Java
C++
따라서 C++이 자바보다 실행 속도가 빠르다.
프로그래밍 모델
Java
C++
절차 지향은 데이터 중심으로 함수를 구현하며, 객체 지향은 기능 중심으로 메서드를 구현하는 차이가 있다. 따라서 자바가 C++보다 유지보수에 유리하다.
상속
friend
키워드를 지원하여 특정 class에 friend 키워드를 붙여서 클래스 혹은 함수를 선언해 놓으면, 명명된 클래스와 함수는 그 class의 private, protected area에 접근할 수 있다. 하지만 이는 객체의 은닉성을 파괴하므로 특수한 경우 외에 사용을 지양한다.메모리 처리
new
키워드를 사용해 객체를 생성하면 Heap 영역에 객체가 할당되고 일반적인 변수 선언 방식으로 객체를 생성하면 Stack 영역에 할당된다.문법 및 기능
virtual
키워드를 통해 동적 바인딩도 지원하기도 한다.보안성
언어의 특징과 장단점, 개발 목적을 고려하여 언어를 선택하자