자바와 운영체제 사이에 JVM이 있고,

JVM을 운영체제에 맞춰 설치를 해주면 

자바로 작성한 소스코드를 JVM이 실행시켜주기때문에

운영체제에 따라 자바의 코드를 수정한다거나 할 필요 없고 이런 저런 운영체제에서도 실행이 가능하여 이식성이 높다.

는건 이해하고 있습니다.


그런데 이건 사실 C++도 마찬가지 아닌가용?
C++이 자바처럼 운영체제 사이에 중간역할 해주는애가 없어서 그렇지,

운영체제에 따른 C++ 컴파일러를 설치하면,

해당 컴파일러는 운영체제에 맞게 알아서 잘 C++로 작성한 코드를 컴파일 해주기 떄문에,

운영체제에 따라 C++의 코드를 수정한다거나 할 필요 없이 잘 구동되잖아용?

그러니까 윈도우 컴에서 작성한 C++ 소스코드를 수정 없이 그대로 복붙해서 실행해도 맥에서 잘 수행이 되는데,

어째서 운영체제에 독립적이다라는게 자바의 이점이 될 수 있는것인지 이해가 안가네요.


제가 뭐 잘못 이해하고 있나요..?