자바 시작하기 - JVM과 첫 프로그램

Chapter 1: 자바를 시작하기 전에

1.1 자바란?

1995년 Sun Microsystems에서 개발한 객체지향 프로그래밍 언어

귀엽다! 나랑 비슷할 때 태어났네

핵심 특징:

  • Write Once, Run Everywhere: 한번 작성하면 어디서든 실행
  • 객체 지향
  • 자동 메모리 관리: 가비지 컬렉터가 메모리를 자동으로 관리

1.2 JVM (Java Virtual Machine)

자바 가상머신은 바이트코드를 각 운영체제에 맞게 해석하여 실행한다.

실행 흐름:

자바 소스코드 -> 컴파일러 -> 바이트코드 -> JVM -> 실행
hello.java   -> javac   -> hello.class -> java -> 결과출력

이 바이트코드가 JVM 위에 올라가서 실행이 된다.

java hello

Chapter 2: 첫 번째 프로그램 작성하기

2.1 IntelliJ IDEA 설치 및 탐색

일단 IntelliJ를 깔고 좀 탐색해본다. 내 생각에는 유료 버전도 있어서 그런지 VS보다 좀 더 귀엽다. 그리고 빌드 같은 안 써본 툴들도 많다. 차근차근 알아가도록.

2.2 첫 번째 프로그램 작성하기

일단 첫 번째 프로젝트를 만들었다. 이름은 HelloWorld

샘플 코드 작성을 허가하지 않고 만들었다. 설치한 버전의 JVM이랑 연결해주는 것도 잊지 않는다.

프로젝트 구조:

.
├── .idea
└── src

src 폴더에서 new > class를 선택해서 프로젝트 명과 동일하게 HelloWorld라는 클래스를 생성한다. 그리고 다음 코드를 작성한다:

public class HelloWorld {
    public static void main(String[] args) {
        System.out.println("hello");
        System.out.println("world");
    }
}

상단의 실행 버튼을 누르면 터미널에서 두 줄이 프린트 된다. 그리고 나면 동일한 프로젝트에 out 폴더가 생성된다.

질문: out 폴더는 왜 생기는가?

<추가된 답변=""> out 폴더는 IntelliJ가 컴파일된 .class 파일들을 저장하는 기본 빌드 출력 디렉토리입니다. - src 폴더: 소스 코드(.java 파일) 저장 - out 폴더: 컴파일된 바이트코드(.class 파일) 저장 이렇게 소스와 빌드 결과물을 분리하면: 1. 프로젝트 구조가 깔끔해진다 2. 빌드 결과물만 삭제하기 쉽다 (Clean) 3. 버전 관리 시 .class 파일을 제외하기 편하다 터미널에서 직접 javac를 실행하면 같은 폴더에 .class가 생성되지만, IDE는 관리를 위해 별도 폴더를 사용합니다. </추가된 답변> ## 2.3 명령줄에서 실행하기 상단의 실행 버튼을 클릭하지 않고 실행하려면 컴파일을 먼저 해서 바이트 코드로 만든 다음에 이 코드를 자바로 실행해야 한다. ```bash javac HelloWorld.java java HelloWorld ``` 이렇게 하면 첫 번째 프로그램 작성 완료!