Java는 크게 두가지 버전이 있다.
LTS(Long-term Support) 버전 :
장기 지원 버전은 후속 버전이 출시되어도 일정 기간 동안 지원을 지속
non-LTS 버전 :
후속 버전이 출시되면 지원이 종료된다는 차이점이 있습니다.
안정적인 시스템 운용 및 호환을 위해서는 LTS 버전을 사용하는 것을 강력하게 권장🙂
본 실습에서는 11 버전을 사용
https://www.oracle.com/java/technologies/java-se-support-roadmap.html
에서 java의 분류를 볼 수 있다.
많은 분들이 처음 Java를 접할 때, JDK와 JRE의 역할을 혼동하는 경우가 많습니다. 이번 기회에 각 용어가 의미하는 바와 역할을 반드시 짚고 넘어가도록 합시다 🙂

- JDK(Java Development Kit)
- Java 어플리케이션 개발을 위해 반드시 필요하며, 사람이 작성한 소스 코드를 번역하여 컴퓨터가 이해할 수 있는 바이트 코드로 변환하는 도구인 Java 컴파일러가 포함되어 있습니다.
- 일반적으로 JDK는 OpenJDK + 제조사의 부가 기능 으로 구성되며, 대표적인 것이 바로 Oracle JDK 입니다. 현재 Oracle JDK는 상용버전으로 공개되고 있으며, 라이센스 이슈를 피하기 위해서는 다른 제조사의 JDK 이용을 권장합니다.
- JDK에는 JRE가 포함되어 있기 때문에 별도로 분리하여 설치할 필요가 없습니다.
- JRE(Java Runtime Environment), JVM(Java Virtual Machine)
- Java로 컴파일 된 어플리케이션을 실행하는 역할을 합니다. 모든 Java 어플리케이션은 JVM이라고 하는 가상의 컴퓨터 공간에서 실행되며, Windows, Linux, Mac 등 어떠한 운영체제라도 JVM이 설치되어 있다면 Java 어플리케이션을 실행할 수 있습니다.
다양한 제조사의 JDK 중 본 실습에서는 OS 별 설치가 용이하고 안정성이 뛰어난 Azul 사의 JDK인 Zulu를 사용했다.
환경설정하기
1. 다운받고, 탐색기 > 내 PC 마우스 우클릭 > 속성을 클릭합니다.
2. 좌측 메뉴 최하단의 "고급 시스템 설정"을 클릭합니다.
3. 환경 변수"를 클릭합니다.
4. 하단 <시스템 변수> 영역의 "새로 만들기"를 클릭합니다.
5. 변수 이름을 JAVA_HOME, 값을 아래와 같이 입력합니다.
6. 마찬가지로 <시스템 변수> 영역의 "Path"를 찾고 "편집"을 클릭합니다. 제일 끝에 아래 내용을 입력합니다.
8. '확인'을 누르고 빠져나온 뒤, `윈도우키` + `R` 을 누르고 cmd 입력 후 엔터를 누릅니다.
9. 아래 내용을 입력했을 때, OpenJDK 관련 정보가 표시되면 설치 완료입니다.
IntelliJ IDEA Ultimate 까지 설치한 후, licence code 입력해서 로그인까지 마치기.
이후 프로젝트 생성 및 폰트 알맞게 변경.(생략)
하지만 이후 폰트를 변경할 일이 있을 수도 있어서 폰트 변경 시 주의사항은 적어놓겠다.
**0, O / l, 1, I 와 같이 일반적인 상황에서 구분이 어려운 문자는 명확하게 의미가 드러날 수 있도록 해야 한다,**Java 프로그램이 실행은 어떠한 단계를 거쳐서 이루어질까요? 우리가 프로그램을 실행시키는 순간 눈에 보이지 않는 많은 동작들이 컴퓨터 안에서 일어나고 있습니다. 간단한 형태의 도식을 통해 Java 프로그램의 실행 과정을 확인해보겠습니다.

Java로 작성된 프로그램을 실행하는 첫 관문은 main 함수로 진입하는 것입니다. 마치 건물의 출입구와 같은 역할을 한다고 볼 수 있습니다. main 함수로 진입한 후 작성된 소스의 작업을 모두 수행하면 main 함수가 종료되며, 이는 곧 프로그램의 종료를 의미합니다. 위에서 생성했던 Hello.java 에 main 함수를 작성해보겠습니다.
public class Hello {
public static void main(String[] args) {
}
}
main 함수 앞뒤에 잔뜩 붙은 생소한 키워드들이 보이시죠? 🤔 각각의 키워드가 의미하는 바가 적지 않지만 현재는 main 함수를 작성하기 위한 약속으로 간주하고 문자열을 출력하는 실습을 이어 진행하도록 하겠습니다.
public class Hello {
public static void main(String[] args) {
System.out.println("Hello, Sparta!");
}
}
System.out.println(출력값); 은 콘솔에 값을 출력하기 위한 Java 함수입니다.;)으로 소스를 종결해주어야 합니다. 세미콜론을 쓰지 않고 엔터키를 쳐서 줄을 구분하게 되면 Java는 해당 라인의 명령이 끝나지 않았다고 인식하여 에러가 나게 됩니다. Python으로 첫 프로그래밍을 학습하신 분이라면 다소 혼동이 될 수 있으며, 평소 코드 작성 시 주의해야 합니다.덧붙여 IntelliJ에서는 sout 라는 글자만 입력해도 System.out.println(); 소스를 자동으로 작성해주는 자동 완성 기능을 제공합니다.
참고) https://teamsparta.notion.site/Java-4e1d12455df14747ae4c920912cd8010