Java는 언어이자 플랫폼이다

2019. 12. 22. 21:08Java

728x90

 

 

 

내가 개발한 프로그램이 모든 환경에서 실행되게 하고 싶다면, 모든 플랫폼(OS + processor)에 맞는 컴파일러를 사야 한다. 고급언어를 사용하여 짠 나의 소스코드가 모든 환경에서 잘 실행되도록 컴파일러를 갖추는 것은 많은 비용과 호환성 측면에서 비효율적이다.

 

하지만 자바를 사용하면 상황이 달라진다.

 

 

 

1+2 연산을 수행할 때

자바에서 system.out.println(1+2);라는 소스코드를 작성하고 저장(.java file)하면

Java Compiler에 의해 바이트 코드 .class file로 컴파일된다.

OS RAM 상에 있는 JVM이

바이트코드 .class file을

각 운영체제가 처리할 수 있도록

native machine code로 변환한다. ('바이너리 코드'와 '기계어'는 동의어가 아니다!!)

 

우리가 인터넷을 하면서 흔히 봤던 커피 아이콘이 JVM을 의미한다.

 

이런 이유로 자바를 언어이자 플랫폼이라고 부른다.

 

 

참고자료: https://shrtorznzl.tistory.com/82

 

바이너리 코드(이진코드): 컴퓨터가 인식할 수 있는 0과 1로 구성된 코드

 

기계어: CPU에서 사용하는 명령어 집합

 

바이트코드: 가상머신이 이해할 수 있는 이진코드

728x90
반응형