Meeting.java
public class Meeting {
public String meet;
public String target;
public void printMessage() {
System.out.println(target + " , " + meet);
}
}
MeetingTestApp.java
public class MeetingTestApp {
public static void main(String[] args) {
// 1. Meeting 클래스 객체 생성 (메모리 할당)
Meeting g = new Meeting();
// 2. 필드 값 초기화
g.meet = "오전 9시에 뵙겠습니다.";
g.target = "안녕하세요 여러분";
// 3. 메서드 호출
g.printMessage(); // 콘솔 출력
}
}
1) 프로그램은 MeetingTextApp 클래스의 main() 메서드에서 시작됩니다. 자바 가상 머신(JVM)이 실행되면 main() 메서드를 콜백(callback) 하여 프로그램 흐름을 시작합니다.
2) Meeting g = new Meeting(); 구문을 통해 Meeting 클래스의 객체가 힙(Heap) 메모리에 생성되며, 클래스 구조가 메서드 영역에 로딩됩니다.
3) 생성된 객체 g의 필드에 값을 직접 할당합니다. 이 과정을 필드 초기화(Field Initialization) 라고 합니다.
g.meet = "오전 9시에 뵙겠습니다.";g.target = "안녕하세요 여러분";4) 필드 초기화가 완료되면 g.printMessage();를 호출하면서, Meeting 클래스에 정의된 메서드가 실행됩니다.
5) printMessage() 메서드는 내부적으로 System.out.println()을 통해 콘솔에 텍스트를 출력합니다:
안녕하세요 여러분 , 오전 9시에 뵙겠습니다.
6) 출력 후 main() 메서드의 실행이 종료되고, 프로그램이 정상적으로 종료됩니다. JVM은 사용한 메모리와 자원을 정리합니다.
🎯 실행 순서 요약
클래스 로딩 → 객체 생성 → 필드 초기화 → 메서드 호출 → 콘솔 출력 → 프로그램 종료
📌 키워드 정리
JVM: Java Virtual Machine, 자바 프로그램을 실행시키는 가상 머신main() 메서드: 자바 애플리케이션의 진입점 (entry point), JVM이 호출콜백(Callback): JVM이 자동으로 main()을 호출함객체 생성: new 키워드를 통해 메모리에 클래스 인스턴스를 생성필드 초기화: 객체의 멤버 변수에 값을 할당하는 과정메서드 호출: 객체의 기능(함수)을 실행하는 명령콘솔 출력: System.out.println()을 통해 텍스트를 콘솔에 출력✅ 결과 출력
안녕하세요 여러분 , 오전 9시에 뵙겠습니다.