C++과 Java의 차이점
C++은 이름에서도 알 수 있듯이 C를 확장하여 만든 프로그래밍 언어입니다. (이후로는 C#도 있죠)
C는 절차적 프로그래밍 언어인데 이를 효율적으로 실행할 수 있도록 개선한 언어입니다.
- 객체 지향 프로그래밍, 예외처리, 제네릭 프로그래밍 등을 지원합니다.
- 제네릭 프로그래밍은 따로 포스팅 하겠습니다.
Java는 처음 가전제품에 탑재되어 네트워크 컴퓨팅을 하기 위해 만들어졌습니다.
- 자바 가상 머신 위에서 실행되며 안전하고 이식성이 높습니다.
- 자바는 C와 비슷한 언어를 사용할 뿐 둘 사이의 호환성은 없습니다.
C++ | Java |
C 코드와의 하위 호환성 | 다른 언어와 호환성은 없음 |
직접적인 시스템 라이브러리 호출 가능 | Java Native Interface를 이용 |
저수준의 시스템 접근 가능 | 자바 가상 머신 위에서 작동 |
선택적 자동 경계 검사 | 항상 자동 경계 검사 |
부호없는 연산 지원 (unsigned) | 부호 없는 연산 미지원 |
값이나 참조에 의한 매개변수 전달 | 항상 값에 의한 매개변수 전달 |
명시적 메모리 관리, 가비지 콜렉션을 따로 해야함 | 항상 자동 가비지 콜렉션 |
명시적인 자료형 재정의 가능 | 자료형 안전성에 엄격함 |
C++ 표준 라이브러리는 적절한 수준까지 지원함 | 광대한 분량의 라이브러리 |
연산자 오버로딩 | 연산자는 재정의 할 수 없음 |
출처 : http://ko.wikipedia.org/wiki/%EC%9E%90%EB%B0%94%EC%99%80_C%2B%2B%EC%9D%98_%EB%B9%84%EA%B5%90
'Programming Language > C, C++' 카테고리의 다른 글
C++ 상속 (0) | 2014.11.07 |
---|---|
C++ Hash와 Map의 차이점 (0) | 2014.10.13 |
C++ STL (0) | 2014.10.10 |
C++ 템플릿 (0) | 2014.10.10 |
C 헤더파일 중복검사 (0) | 2014.10.10 |