자바로 계속 개발을 해왔기에 자바를 어느정도 잘 안다고 생각했는데, 막상 강의를 들어보니 기본기가 안 잡힌 부분이 꽤 많아서 강의를 기반으로 기억해두면 좋을 내용 위주로 정리했다. 

 

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

인프런 '김영한의 실전 자바 - 기본편'

+ Recent posts