엔지니어로 가는 길

언어로서의 자바, 플랫폼으로서의 자바 본문

프로그래밍/Java

언어로서의 자바, 플랫폼으로서의 자바

탐p슨 2020. 3. 29. 15:25
728x90

원문 링크

https://docs.oracle.com/javase/tutorial/getStarted/intro/definition.html

언어로서의 자바

 

자바의 특징

 

https://docs.oracle.com/javase/tutorial/getStarted/intro/definition.html

 

자바 코드가 실행되는 과정


자바에서는 소스코드를 plain 텍스트 파일(.java)에 작성한다.
소스코드는 javac 컴파일러에 의해 .class 파일로 컴파일된다. 이때 프로세서에게 .class 파일을 줘도 이해하지 못한다. .class 파일은 바이트 코드로 작성되어 있기 때문이다. 이는 Java Virtual Machine(이하 JVM)가 이해하는 기계어이다. JVM이 바이트 코드를 프로세서가 이해할 수 있는 명령어로 번역해준다.

 

 

https://docs.oracle.com/javase/tutorial/getStarted/intro/definition.html

 

Write once, run everywhere

 

어떤 환경에서 작성되었든 JVM만 있다면 자바 프로그램은 어디서든 동일하게 동작한다. .java 소스코드가 .class 바이트 코드(machine-independent)로 작성되기 때문이며, 운영체제마다 바이트 코드를 자신의 프로세서가 이해할 수 있는 기계어로 바꿔주는 JVM이 있기 때문이다.

 

 

https://docs.oracle.com/javase/tutorial/getStarted/intro/definition.html

 

 

플랫폼으로서의 자바

 

플랫폼이란 프로그램이 실행되는 하드웨어 또는 소프트웨어 환경이다. 자바 플랫폼은 다른 대부분의 플랫폼과 다른 하드웨어 기반의 플랫폼의 위에서 동작하는 달리 소프트웨어-only 플랫폼이다.

 

자바 플랫폼은 두 가지 컴포넌트를 갖는다.

-      The Java Virtual Machine

-      The Java Application Programming Interface(API)

 

API는 유용한 기능을 제공하는 소프트웨어 컴포넌트의 집합이다. 연관된 클래스와 인터페이스의 라이브러리로 그룹화되어 있다. 라이브러리를 패키지라고도 한다.

 

 

https://docs.oracle.com/javase/tutorial/getStarted/intro/definition.html

 

플랫폼 독립적이기 때문에 자바 플랫폼은 다른 native 코드보다 느릴 수 있다. 하지만 컴파일러와 virtual machine 기술 덕분에 우수한 portability는 그대로 유지한 채로 native 코드 못지 않은 성능을 낼 수 있다.

 

728x90
Comments