백엔드 개발자를 목표로 삼은 만큼 자바는 앞으로 나의 주언어가 될 것이기 때문에 가장 길어지고, 계속 꾸준히 공부하지 않을까 싶다. 우리 학교 커리큘럼에서 자바는 필수 과목이 아니었는데, 필요할 것 같아 수강했었고 이후 스프링 수업 때 사용했던 기억이 있다. 그 뒤로는 건드리지 않았다.ㅠ
교재는 다음 교재를 사용한다.
자바는 jdk version-11, ide로는 IntelliJ IDEA 2022.2.1을 사용한다.
현재(2023.06.24) 깃 연동은 하지 않은 상태이며, 이후의 프로젝트를 진행하기 전에 연동할 예정이다.
https://docs.oracle.com/en/java/javase/index.html
인텔리제이 단축키.
-https://blog.jetbrains.com/ko/2020/03/11/top-15-intellij-idea-shortcuts_ko/
-https://blog.jetbrains.com/ko/idea/2022/11/top-underrated-shortcuts/
자바는 고급 언어로 객체 지향적인 언어이다.
자바의 특징으로는 플랫폼 독립적이며 메모리 사용량이 적다는 점이 있다.
자바의 소스 코드는 확장자가 .java이며 자바 컴파일러에 의해 .class 파일로 컴파일된다. 이 클래스 파일은 자바 가상 머신(Java Virtual Machine:JVM)에 의해 실행된다.
자바 가상 머신은 JRE(Java Runtime Environment)에 포함되며, 서로 다른 플랫폼에서 자바 프로그램이 실행될 수 있도록 환경을 제공하는 역할을 한다.
자바 프로그램은 확장자가 .java인 소스 파일들로 구성되며, 컴파일러는 각 소스 파일을 컴파일 해 바이트 코드로 구성된 클래스 파일을 생성한다. c언어와 다르게 이 컴파일하여 생성된 파일을 하나의 실행 파일(.exe)로 묶는 링크 과정이 없다. 클래스 파일 하나를 지정하여 실행하면 메모리에 로딩되고 다른 클래스 파일이 필요한 경우에 로딩해온 뒤 실행한다. 필요한 클래스 파일만 로딩하여 실행할 수 있어 메모리 사용량을 줄일 수 있다는 이점이 있다.
JDK(Java Development Kit)는 자바 컴파일러 등의 개발 도구와 JRE로 이루어지며, JRE는 자바 API와 JVM을 포함한다.
자바 API(Application Programming Interface)는 이미 생성되어 활용할 수 있는 자바 클래스의 집합이다.
자바 API에 대해서는 다음 링크를 참고
https://docs.oracle.com/en/java/javase/11/docs/api/index.html