Si, dejaría de ser multiplataforma.
Java es un lenguaje interpretado, no compilado. C/C++ es un lenguaje compilado; esto hace que java ocupe del Java Runtime Environment para poder correr (conocido tambien como Java Virtual Machine) que captura las llamadas al S.O.que hace el programa Java y las interpreta para el S.O., luego toma el valor que le retorna el S.O. y se lo traduce a Java; pero en el caso de C/C++ hay una gran diferencia, al compilar el código y crear el archivo objeto (el "Ejecutable"), este archivo es traducido por el compilador a instrucciones de ensamblador, dichas instrucciones a su vez pueden hacer llamados al S.O.; esto hace que a pesar de que, por ejemplo, Linux y Windows sone scritos en C y ambos tienen compiladores de C, un programa escrito en uno no funcionará en el otro.
Espero haber aclarado tu duda.
Saludos,
Franklin Gamboa