Java

Java 입문 1강 — 개발 환경 세팅하기

devjingood 2026. 5. 11. 20:02

파이썬 개발자로 일하다가 자바를 새로 공부하기 시작했다. 첫 강의에서는 IntelliJ 설치와 프로젝트 기본 구조를 다뤘는데, 파이썬과는 꽤 다른 부분들이 있어서 정리해 두려고 한다.


1. IntelliJ가 만들어주는 프로젝트 구조

프로젝트를 생성하면 IntelliJ가 자동으로 아래 세 폴더를 만들어준다.

  • src (Source) — 앞으로 작성할 .java 파일들이 모두 여기에 들어간다. 실제 비즈니스 로직이 위치하는 핵심 폴더다.
  • out — .java 파일을 컴파일한 결과물인 .class 파일이 저장되는 곳이다. 빌드할 때마다 자동으로 다시 생성되므로, 실수로 지워도 전혀 문제없다.
  • .idea — IntelliJ가 이 프로젝트를 관리하기 위한 설정 파일들이 담긴 폴더다. 직접 건드릴 필요 없고, 보통 Git에도 포함시키지 않는다 (.gitignore에 추가하는 게 일반적이다).

2. Main.java와 main 메서드 해부하기

프로젝트를 만들면 샘플 코드로 아래가 생성된다.

public class Main {
    public static void main(String[] args) {
        System.out.println("Hello, World!");
    }
}

자바 프로그램이 실행되면 JVM(자바 가상 머신)은 가장 먼저 public static void main(String[] args) 시그니처를 찾는다. 이게 없으면 프로그램 자체가 실행되지 않는다.

각 키워드가 무엇을 의미하는지 하나씩 살펴보면 다음과 같다.

키워드 지금 단계에서의 의미 나중에 깊게 배울 개념

public 어디서든 이 메서드에 접근할 수 있다 접근 제어자
static 객체를 생성하지 않아도 바로 실행할 수 있다 정적 멤버, 메모리 영역
void 실행 후 반환할 값이 없다 리턴 타입
main 프로그램의 시작 지점이다 (메서드 이름) 메서드 정의
String[] args 프로그램 실행 시 외부에서 넘겨줄 수 있는 데이터 묶음 배열, 파라미터

지금 단계에서는 각 키워드의 역할 정도만 이해하고 넘어가도 충분하다. static이나 접근 제어자 같은 개념은 이후 강의에서 훨씬 자세히 다루게 된다.


3. 왜 모든 코드는 class 안에 있어야 할까?

파이썬은 .py 파일을 열고 바로 코드를 작성해도 실행된다. 하지만 자바는 "모든 코드는 반드시 클래스 안에 있어야 한다" 는 규칙이 언어 차원에서 강제된다.

파이썬 개발자 입장에서는 처음엔 다소 번거롭게 느껴질 수 있지만, 이 구조 덕분에 대규모 프로젝트에서 코드를 체계적으로 관리하기 쉬워진다고 한다.

한 가지 주의할 점은, 파일명과 클래스 이름이 반드시 일치해야 한다는 것이다.

Main.java  →  public class Main  ✅
Main.java  →  public class App   ❌ (컴파일 에러 발생)

첫 강의라 내용 자체는 가볍지만, 파이썬과의 차이를 의식하면서 보니 생각보다 흥미로웠다. 다음 강의부터는 본격적으로 자바의 자료형과 연산자를 다룰 예정이다.