-
🖥️ 자바에서 명령어가 메모리를 활용하여 구동되는 원리 (완전 쉬운 설명!)☕Java 2024. 12. 10. 20:35728x90
자바 프로그램이 실행될 때, CPU와 메모리가 함께 협력해서 동작해요.
이를 쉽게 설명하기 위해 요리하는 과정과 비교해볼게요! 🍳👨🍳1️⃣ 자바 프로그램이 실행될 때 필요한 것들
자바 프로그램을 실행하려면, 3가지 중요한 요소가 필요해요.
- 코드 (레시피) 📜 → 우리가 작성한 자바 프로그램
- CPU (요리사) 👩🍳 → 프로그램을 실행하는 역할
- 메모리 (주방) 🍽️ → CPU가 일할 수 있도록 재료를 준비하는 공간
💡 CPU(요리사)는 메모리(주방)에서 데이터를 꺼내서 요리(명령어 실행)해요!
2️⃣ 자바 프로그램이 실행되는 과정 🍛
우리가 자바 프로그램을 실행하면, 다음과 같은 과정이 진행돼요.
① 코드가 메모리에 올라감 📜 → 🍽️
자바 파일(.java)을 실행하면, 프로그램의 명령어(코드)가 **메모리(주방)**로 올라가요.
즉, "레시피(코드)를 주방에 펼쳐놓는 것"과 같아요.② CPU가 명령어를 가져와 실행 👩🍳 → 🔥
CPU(요리사)는 메모리에서 하나씩 명령어를 가져와 실행해요.
예를 들어, System.out.println("Hello!"); 같은 코드가 있다면:- CPU가 메모리에서 "Hello!"를 가져옴
- 화면에 출력함
③ 변수와 데이터 저장 🍆🥩🍚
자바 프로그램에서 변수를 만들면, 그것도 메모리에 저장돼요!
예를 들어:java복사편집int a = 10; // 변수 a에 10 저장👉 메모리에 "a = 10"을 저장하고, 필요할 때 CPU가 꺼내서 사용해요!
④ 불필요한 데이터 정리 (Garbage Collector) 🗑️
필요 없는 데이터는 Garbage Collector가 자동으로 치워줘요.
마치 요리를 하면서 쓰레기를 버리는 것과 같아요!
3️⃣ 자바 프로그램이 사용하는 메모리 공간 (초보자용)
메모리는 크게 4가지 공간으로 나뉘어요.
이해하기 쉽게, 주방의 역할에 비유할게요! 🍳메모리 구역 설명 비유(주방) 코드 영역 실행할 코드가 저장됨 📜 레시피(요리 방법) 힙(Heap) 객체(데이터)가 저장됨 🥕냉장고 (요리 재료 보관소) 스택(Stack) 실행 중인 메서드와 변수 저장 🔪 조리대 (요리 도구 & 재료 준비) PC 레지스터 CPU가 현재 실행 중인 명령어 저장 👀 요리사의 손 (현재 실행 중인 작업)
4️⃣ 그림으로 보기 (자바 프로그램 실행 과정)
이해를 돕기 위해 그림을 만들어 볼게요! 🎨✏️
(곧 생성해서 보여드릴게요!)위 그림을 보면, 자바 프로그램이 실행되는 과정을 요리하는 과정과 비교해서 쉽게 이해할 수 있어요! 🍽️👩🍳
- CPU(요리사) → 코드를 실행하는 역할
- 코드(레시피) → 프로그램이 실행될 명령어
- Heap(냉장고) → 프로그램이 사용하는 데이터 저장
- Stack(조리대) → 실행 중인 변수 및 메서드 저장
- Garbage Collector(쓰레기통) → 필요 없는 데이터를 자동으로 정리
728x90'☕Java' 카테고리의 다른 글
Java 상속이란? + 문제풀이 (1) 2024.12.15 자바 초보자를 위한 Constructor (생성자) 활용법 – 주소록 프로그램 만들기 (0) 2024.12.11 Java 객체지향 프로그래밍으로 책 정보 관리 시스템 구현하기 (0) 2024.12.10 Number 클래스 설명 및 프로그램 동작 원리 (0) 2024.12.10 "자바의 클래스와 객체: 개념부터 활용까지 쉽게 이해하기" (1) 2024.12.10