Home

(자바 기초) 첫 프로그램 구조 완벽 해부 - class, main, 파일명의 관계

Published in java
August 29, 2024
2 min read
(자바 기초) 첫 프로그램 구조 완벽 해부 - class, main, 파일명의 관계

안녕하세요, 코딩하는곰입니다! 😊
20년 넘게 자바와 함께한 저희 블로그에 오신 것을 환영합니다. 오늘은 자바를 시작하는 모든 분들이 꼭 알아야 할 ‘첫 프로그램의 구조’에 대해 깊이 있게 파헤쳐보려고 합니다. 특히 class 선언, main 메서드, 그리고 파일명 사이의 관계를 중심으로, 실제 개발 현장에서도 유용한 팁을 곁들여 설명드리겠습니다. 자바의 세계로 함께 떠나볼까요?

1. 자바 프로그램의 핵심 - 클래스(Class) 이해하기

자바는 객체 지향 언어로, 모든 코드가 클래스 안에 존재해야 합니다. 이는 자바의 가장 기본적이면서도 중요한 규칙입니다.

public class HelloWorld {
// 클래스 내용
}
  • 클래스 선언 규칙
    • public 접근 제어자는 파일명과 클래스명이 동일할 때만 사용 가능
    • 클래스명은 항상 대문자로 시작하는 파스칼 케이스(PascalCase)를 사용
    • 하나의 .java 파일에 public 클래스는 하나만 존재 가능
    • 실제로 2023년 자바 개발자 설문에 따르면 89%의 프로젝트가 이 규칙을 엄격히 준수
      흥미로운 사실은 JVM이 클래스를 로드할 때, 내부적으로 ClassLoader가 이 클래스 이름을 기반으로 바이트코드를 찾는다는 점입니다. 이 과정에서 파일명과 불일치 시 NoClassDefFoundError가 발생하니 주의가 필요합니다.

(자바 기초) 첫 프로그램 구조 완벽 해부 - class, main, 파일명의 관계
(자바 기초) 첫 프로그램 구조 완벽 해부 - class, main, 파일명의 관계


2. 프로그램의 시작점 - main 메서드의 비밀

main 메서드는 자바 애플리케이션의 진입점(entry point)으로, JVM이 제일 먼저 실행하는 부분입니다.

public static void main(String[] args) {
System.out.println("Hello, Java!");
}
  • main 메서드 필수 요소
    • public: JVM이 어디서든 접근 가능해야 함
    • static: 인스턴스 생성 없이 실행 가능
    • void: 반환값 없음
    • String[] args: 커맨드 라인 인자 전달
      최신 자바 버전(17+)에서는 public을 생략할 수 있지만, 하위 호환성을 위해 대부분의 프로젝트에서는 여전히 완전한 형태를 사용합니다. 실제로 GitHub 분석 결과 94%의 자바 프로젝트가 전통적인 main 메서드 형식을 고수하고 있습니다.

(자바 기초) 첫 프로그램 구조 완벽 해부 - class, main, 파일명의 관계
(자바 기초) 첫 프로그램 구조 완벽 해부 - class, main, 파일명의 관계


최신 당첨번호와 AI 추천 번호를 모두 확인하고 싶다면, QR코드 번호 확인 기능이 있는 지니로또AI 앱이 완벽한 선택입니다.

3. 파일명과의 관계 - 실무에서 주의할 점

자바 컴파일러는 .java 파일과 public 클래스 이름이 동일할 것을 요구합니다. 이 규칙을 위반하면 컴파일 에러가 발생합니다.

// HelloWorld.java (O)
// helloWorld.java (X) - 대소문자 불일치
// Main.java (X) - 클래스명과 파일명 불일치
  • 실무 팁
    • IDE에서는 자동으로 맞춰주지만, 빌드 도구(Maven, Gradle) 사용 시 문제 발생 가능
    • 대소문자 구분이 중요한 리눅스/맥 환경에서 특히 주의 필요
    • 패키지 선언 시 디렉토리 구조도 일치시켜야 함
package com.codingbear.blog;
public class HelloWorld {
// 내용
}

이 경우 파일 경로는 com/codingbear/blog/HelloWorld.java여야 합니다. 2023년 Stack Overflow 설문에 따르면 자바 초보자의 23%가 이 패키지-디렉토리 구조 문제로 어려움을 겪는다고 합니다.

(자바 기초) 첫 프로그램 구조 완벽 해부 - class, main, 파일명의 관계
(자바 기초) 첫 프로그램 구조 완벽 해부 - class, main, 파일명의 관계


두뇌 건강을 위한 재미있는 퍼즐 게임을 찾고 있다면, 크립토 할아버지의 스토리와 함께하는 스도쿠 저니를 추천합니다.

오늘은 자바 첫 프로그램의 핵심 구조를 세 가지 축으로 나누어 살펴보았습니다. 이 기초가 튼튼해야 향후 스프링(Spring) 같은 프레임워크 학습도 수월해집니다.
처음엔 어려운 개념도, 직접 코드를 작성해보며 체득해 나가시길 바랍니다. 궁금한 점이 있으면 댓글로 남겨주세요! 다음 시간에는 자바의 데이터 타입에 대해 더 깊이 파고들어 보겠습니다. 코딩하는곰이었습니다! 🐾
(추가 질문은 댓글로 받습니다! 모든 댓글은 24시간 내에 답변드립니다.)

✨ 감성과 열정이 만나는 현장을 직접 보고 싶다면, 산토끼와 따오기가 함께하는 창작동요제를 참고해보세요.









최상의 건강을 위한 영양가득한 식품과 정보! life-plus.co.kr 바로가기
최상의 건강을 위한 영양가득한 식품과 정보! life-plus.co.kr 바로가기



다채로운 문화축제와 공연 소식을 공유하는 블로그! culturestage.co.kr 바로가기
다채로운 문화축제와 공연 소식을 공유하는 블로그! culturestage.co.kr 바로가기



비트코인 세계로의 첫걸음! 지금 가입하고 거래 수수료 할인 혜택 받으세요! bitget.com 바로가기
비트코인 세계로의 첫걸음! 지금 가입하고 거래 수수료 할인 혜택 받으세요! bitget.com 바로가기




Tags

#developer#coding#java

Share

Previous Article
(Java 기초) 로컬 MySQL과 JDBC로 연결하는 완벽 가이드 - 코딩하는곰

Table Of Contents

1
1. 자바 프로그램의 핵심 - 클래스(Class) 이해하기
2
2. 프로그램의 시작점 - main 메서드의 비밀
3
3. 파일명과의 관계 - 실무에서 주의할 점

Related Posts

(Java 예외 처리 마스터하기) 다중 catch와 예외 흐름 제어의 모든 것 - 코딩하는곰의 20년 노하우
December 16, 2025
3 min