본문 바로가기
프로그래밍언어

C++, JAVA 차이

by 흰색남자 2022. 9. 25.

둘 다 객체지향 언어인데 무슨 차이가 있는가?

1. C++은 다중 상속을 지원하나, JAVA는 지원하지 않는다.

 

2. C++는 friend 키워드를 지원하나, JAVA는 지원하지 않는다. friend 키워드는 은닉성 이슈로 사용을 자제한다.

 

3. JAVA는 다중상속을 지원하지 않는 대신 Interface를 지원한다. C++는 지원하지 않는다.

 

4. JAVA는 객체를 메모리의 Heap영역에만 할당할 수 있으나, C++의 경우 Heap과 Stack영역 모두에 할당이 가능하다

 

5. JAVA는 메모리(Heap 영역) 해제가 자동으로 이루어지지만, C++은 프로그래머가 수동으로 해야한다.

 

6. C++에서는 연산자오버로딩을 지원하지만, JAVA는 그렇지 않다.

 

7. JAVA는 익명클래스(Anonymous Class)를 지원하지만, C++의 경우 그렇지 않다.

 

8. JAVA는 동적바인딩(Dynamic Binding)을 택하고 있지만, C++은 정적바인딩(Static Binding)을 택하고 있다.

 

 

 

인터페이스와 추상클래스 차이

추상 클래스는 그 추상 클래스를 상속받아서 기능을 이용하고, 확장시키는 데 있습니다. 반면에 인터페이스는 함수의 껍데기만 있는데, 그 이유는 그 함수의 구현을 강제하기 위해서

 

익명클래스란? Java의 Interface나 Abstract 클래스는 익명 함수로 구현과 동시에 객체를 생성

 

 

 

 

 

'프로그래밍언어' 카테고리의 다른 글

JIT 컴파일러  (0) 2022.12.26
비동기, 동기 통신과 call back  (0) 2022.10.03
call by reference, call by value  (0) 2022.10.03
자료구조편 - hash, map, set  (0) 2022.09.20
OOP란?  (0) 2022.09.19