자바 표준 스펙이란? 자바는 이렇게 만들어야 한다는 설계도이며, 문서이다.
- 이 표준 스펙을 기반으로 자바를 만든다.
- 자바 표준 스펙은 자바 커뮤니티 프로세스(JCP)를 통해 관리된다.
--> "이렇게 만들어야 돼"라고 적힌 문서임
자바 구현이란? 여러 회사에서 자바 표준 스펙에 맞춰서 실제 작동하는 자바 프로그램을 개발하는 것.
- 표준 스펙을 가지고 여러 회사에서 자바를 만든다고 생각하면 된다.
- 각 회사에 맞는 최적화 프로그램이 있다.ex)Oracle open JDK...
- 각 회사들은 대부분 다양한 운영체제 버전의 자바도 함께 제공한다.
-->오라클JDK면 맥용, 윈도우용 리눅스용 등등이 제공된다는 뜻
자바 구현들은 모두 표준 스펙에 맞도록 개발되어 있다. 따라서 오라클 Open JDK를 사용하다가 Amazon Corretto 자바로 변경해도 대부분 문제 없이 동작한다.
자바 프로그램은 컴파일과 실행 단계를 거친다
Java
의 경우 컴파일(Compile)
이라는 개념이 있다.
Python
과 같은 언어는 컴파일 언어
와 다르게 인터프리터 언어
로 별도의 컴파일 과정이 없이 소스 코드를 한줄 한줄 읽어가면서 실행을 하게 되지만, 자바의 경우 컴퓨터가 읽기 전에 컴파일
을 한 후 컴퓨터가 이해를 한다.
Hello.java
javac
라는 프로그램 사용.java
-> .class
파일이 생성java
라는 프로그램 사용일반적인 프로그램은 다른 운영체제에서 실행이 불가능
- ex) 윈도우 프로그램은 MAC이나 리눅스에서 작동하지 않고 각 운영체제에 맞는 프로그램을 따로 개발해야 함
-->윈도우 프로그램은 윈도우 OS가 사용하는 명령어들로 구성되어 있기 때문
자바는 자바가 설치 된 모든 OS와 호환이 가능하다
- 특정 OS에 맞추어 개발을 하지 않아도 된다. 호환성은 자바가 해결한다.
- 컴파일된 자바 파일은 모든 자바 보한경에서 실행 가능하다
- 윈도우 자바는 윈도우 OS가 사용하는 명령어들로 구성되어 있다.
MAC이나 리눅스 자바도 본인의 OS가 사용하 는 명령어들로 구성되어 있다. 개발자는 각 OS에 맞도록 자바를 설치하기만 하면 된다.