자바 - 표준 스펙, 구현
자바 표준 스펙
- 설계도이자 문서
- 표준 스펙을 기반으로 여러 회사에서 실제 작동하는 자바를 만듦
- 자바 표준 스펙은 자바 커뮤니티 프로세스(JCP)를 통해 관리됨
다양한 자바 구현
- 여러 회사에서 자바 표준 스펙에 맞춰 실제 작동하는 자바 프로그램 개발
- 최적화 차이가 있지만,
- 대부분 회사들은 윈도우, 맥, 리눅스 같이 다양한 OS에서 작동하는 버전의 자바도 함께 제공
- 모두 표준 스펙에 맞게 개발되었기 때문에,
- 오라클 Open JDK를 사용하다가 Amazon Corretto 자바로 변경해도 문제없이 동작
컴파일과 실행
- Hello.java 와 같은 자바 소스 코드를 개발자가 작성
- (컴파일 단계) 자바 컴파일러를 사용해서 소스 코드를 컴파일
- 자바가 제공하는 javac 라는 프로그램을 사용
- .java => .class 파일이 생성
- 자바 소스 코드를 바이트코드로 변환하며
- 자바 가상 머신에서 더 빠르게 실행될 수 있게 최적화하고 문법 오류도 검출
- 자바 프로그램을 실행
- 자바가 제공하는 java 라는 프로그램을 사용
- 자바 가상 머신(JVM)이 실행되면서 프로그램이 작동
IDE와 자바
자바를 OS에 직접 설치해도 된다.
인텔리제이를 통한 자바 컴파일, 실행 과정
- 컴파일
- 자바 코드를 컴파일 하려면 javac 라는 프로그램을 직접 사용해야 하는데,
- 인텔리제이는 자바 코드를 실행 할 때 이 과정을 자동으로 처리
- 인텔리제이 화면에서 프로젝트에 있는 out 폴더에 가보면 컴파일된 .class 파일이 있는 것을 확인(주석제외)
- 실행
- 자바를 실행하려면 java 라는 프로그램을 사용해야 한다. 이때 컴파일된 .class 파일을 지정해주면 된다.
- 예) java Hello , 참고로 확장자는 제외한다.
- 인텔리제이에서 자바 코드를 실행하면 컴파일과 실행을 모두 한번에 처리
자바와 운영체제 독립성
일반적인 프로그램
- 일반적인 프로그램은 다른 운영체제에서 실행할 수 없다.
- 예를 들어서 윈도우 프로그램은 MAC이나 리눅스에서 작동하지 않는다.
- 왜냐하면 윈도우 프로그램은 윈도우 OS가 사용하는 명령어들로 구성되어 있기 때문이다.
- 해당 명령어는 다른 OS와는 호환되지 않는다.
자바 프로그램
- 자바 개발자는 특정 OS에 맞추어 개발을 하지 않고 자바에 맞추어 개발하면 된다.
- OS 호환성 문제는 자바가 해결한다. Hello.class 와 같이 컴파일된 자바 파일은 모든 자바 환경에서 실행할 수 있다.
- 윈도우 자바는 윈도우 OS가 사용하는 명령어들로 구성되어 있다. MAC이나 리눅스 자바도 본인의 OS가 사용하는 명령어들로 구성되어 있다. 개발자는 각 OS에 맞도록 자바를 설치하기만 하면 된다.
- 개발할 때 자바와 서버에서 실행할 때 자바를 다르게 사용할 수 있다.
- 개발자들은 개발의 편의를 위해서 윈도우나 MAC OS를 주로 사용한다.
- 서버는 주로 리눅스를 사용한다. 만약 AWS를 사용한다면 Amazon Corretto 자바를 AWS 리눅스 서버에 설치 하면 된다.
- 자바의 운영체제 독립성 덕분에 각각의 환경에 맞추어 자바를 설치하는 것이 가능
'IT > 김영한의JAVA입문_inFlearn' 카테고리의 다른 글
4. 조건문 - if문1~3 / switch문 / 삼항 연산자 / 문제와 풀이1~2 (1) | 2024.12.24 |
---|---|
3. 연산자 - 산술 연산자 / 문자열 더하기 / 연산자 우선순위 / 증감 연산자 / 비교 연산자 / 논리 연산자 / 대입 연산자 (1) | 2024.12.19 |
2. 변수 - 변수 시작 / 변수 값 변경 / 선언과 초기화 / 변수 타입 / 명명 규칙 / 문제와 풀이 (1) | 2024.12.04 |
자바 프로그램 실행 + 주석(comment) (0) | 2024.11.29 |
개발환경설정 (1) | 2024.11.29 |