🔍 내가 배운 내용 요약


  1. 클래스 내부뿐 아니라 외부에도 프로그램 구조를 결정짓는 다양한 요소가 존재
  2. 패키지, import, main 메서드, 주석, 다른 클래스 정의, 접근 제어자 등이 포함됨
  3. 외부 구성 요소를 통해 자바 프로그램이 어떻게 실행되고 구성되는지 이해

📚 클래스 외부 구성 요소

구성 요소 설명 예시
패키지 선언 (package) 클래스가 속한 디렉터리 구조 지정 package com.example.app;
import문 다른 클래스/패키지를 불러올 때 사용 import java.util.Scanner;
main 메서드 자바 프로그램의 시작점 public static void main(String[] args)
다른 클래스 정의 하나의 파일에 여러 클래스 선언 가능 (단, public 클래스는 한 개만) class Helper { ... }
주석(Comment) 설명/비고 등을 코드에 남김 // 한 줄 주석, /* 여러 줄 */
접근 제어자 클래스에 대한 접근 권한 설정 public, default
애노테이션 클래스나 메서드에 특별한 정보 부여 @Override, @Deprecated

예시: 클래스 외부 구성 요소 포함한 전체 코드

Java

// 패키지 선언
package com.example.myapp;

// 외부 클래스 import
import java.util.Scanner;

/*
 * 여러 줄 주석
 * 프로그램 시작점 포함
 */

public class MainApp {
    // 메인 메서드 - 프로그램 시작점
    public static void main(String[] args) {
        System.out.println("Hello, Java!");

        // Scanner 객체 사용
        Scanner sc = new Scanner(System.in);
        System.out.print("이름을 입력하세요: ");
        String name = sc.nextLine();
        System.out.println("안녕하세요, " + name + "!");
    }
}

// 보조 클래스 (public 아님, 같은 파일에 정의 가능)
class Helper {
    
    static void printLine() {
        System.out.println("===========");
    }
}

정리: 주요 외부 구성 요소

요소 역할 위치
package 클래스 파일의 **논리적 위치(이름공간)**를 정의 파일 최상단
import 외부 클래스/패키지를 사용할 수 있게 함 package 아래
main 메서드 실행 시작 지점 (필수 아님, 실행용 클래스에만 있음) 클래스 내부
주석 문서화, 코드 설명, 테스트 중단 등 어디든 사용 가능
클래스 외 클래스 한 파일에 보조 클래스들 추가 가능 public 클래스 아래나 옆
애노테이션 컴파일러나 실행 시 추가 동작 유도 선언 위에 붙임 (@)

💬 공부하면서 느낀 점

자바 코드는 클래스 내부만 공부해서는 완전하지 않다는 걸 알았다.

특히 패키지 구조와 import 문은 프로젝트가 커질수록 필수였고,

main() 메서드의 위치와 역할도 정확히 이해해야 자바 프로그램을 실행할 수 있었다.