자바로 계속 개발을 해왔기에 자바를 어느정도 잘 안다고 생각했는데, 막상 강의를 들어보니 기본기가 안 잡힌 부분이 꽤 많아서 강의를 기반으로 기억해두면 좋을 내용 위주로 정리했다.
1. 자바란?
프로그래밍 언어 중 하나로, 표준 스펙과 이를 구현한 구현체가 있다. 인텔리제이에서 자바 버전을 선택할 때 Oracle, Amazon Corretto 와 같이 종류가 여러개라서 무엇인지 파악을 못했는데 알고보니 자바는 표준 스펙이 있고, 그를 기반해서 각 회사가 본인 스타일로 구현체를 만들어서 다양한 버전이 있는 것이었다.
- 자바 표준 스펙
- 자바 설계에 대한 설계도이고, 문서
- 이를 기반으로 회사에서 실제 작동하는 자바를 만듦
- 자바 커뮤니티 프로세스(JCP)를 통해 관리됨
- 다양한 자바 구현
- 자바 표준 스펙에 맞추어 실제 작동하는 자바 프로그램을 개발한다
- 예시로, Amazon Corretto는 AWS에 최적화 되어 있다
2. 표준 스펙과 구현의 이점 - 변경의 용이
자바 구현들이 모두 표준 스펙에 맞춰 개발이 되었기 때문에 다른 자바로 변경을 문제 없이 할 수 있다.
3. 컴파일과 실행
코드를 실행하기 위해서는 컴파일이라는 단계가 선행되어야 한다.
- 컴파일
- 자바 소스코드 → 바이트 코드로 변환
- .java → .class 로 파일 확장자 변경
- 바이트 코드로 변환된 파일이 JVM에서 실행됨
4. IDE와 자바
인텔리제이에서는 내부에 자바를 편리하게 설치하고 관리할 수 있는 기능을 제공한다. IDE를 사용해 쉽게 자바를 실행만 해봤지 IDE가 어떤 과정을 통해 파일을 컴파일하고 실행하는지 잘 몰랐다;;
인텔리제이를 통한 자바 컴파일/실행 과정
- 인텔리제이에서는 컴파일과 실행 모두를 한번에 처리한다
- 컴파일
- 인텔리제이 out 폴더에 가면 컴파일된 .class 파일을 확인할 수 있고, 이게 JVM에서 실행 된다
5. 자바의 JVM과 OS 독립성
os별로 명령어가 다르기 때문에 특정 os의 파일은 다른 os에서 실행할 수 없다. 하지만 자바의 경우, 자바가 설치된 os라면 종류에 상관없이 자바 프로그램을 실행 할 수 있다.
Reference
인프런 '김영한의 실전 자바 - 기본편'
'Dev Language > Java' 카테고리의 다른 글
[자바/입문] 7. 배열 (0) | 2023.12.29 |
---|---|
[자바/입문] 6. 스코프(scope), 형변환(type casting) (0) | 2023.12.29 |
[자바/입문] 4. 조건문, 5. 반복문 (2) | 2023.12.29 |
[자바/입문] 2. 변수, 3. 연산자 (0) | 2023.12.29 |
[Java] toString()에 대해서 (0) | 2022.03.19 |