C, C++의 단점을 보완한 객체지향 언어
Java는 재사용성이 높고 유지 보수가 편리하다. => 객체지향의 모듈성
Java로 작성된 프로그램은 매우 안정적이다. => OS의 영향을 받지 않음
자바 소스파일 -> 자바 컴파일러
-> 바이트 코드 -> JVM
-> 바이너리 코드(기계어) -> 개별 OS 환경에서 실행
자바 소스코드는 자바 컴파일러
에 의해 바이트 코드로 전환 되고, JVM
에 의해 각기 다른 OS에 적용 될 수 있다.
C 소스코드는 개별 OS 컴파일러
를 통해 기계어(바이너리 코드)로 변환
자바 컴파일의 결과물은 기계어가 아니다?
: 일반적인 컴파일러
는 소스코드를 OS가 해석 할 수 있는 기계어(바이너리 코드)로 변환 하지만, 자바 컴파일러
는 바이트코드로 변환되어 JVM
에서 기계어로 변환 되기 때문에 자바 컴파일의 결과물은 기계어가 아니다!
관련용어
- JDK(Java Development Kit) : 자바 개발 킷이다. JDK는 JRE, JVM을 포함한다. JDK 버전이 곧 자바 버전이다.
- JRE(Java Runtime Environment) : 자바 프로그램이 실행되는 환경 및 자바에서 제공되는 개발용 라이브러리
- JVM(Java Virtual Machine) : 운영체제 마다 다른 바이너리 코드(기계어) 조합-해석을 가상 머신 위에서 지원해 줌
정말 좋은 정보 감사합니다!