2️⃣ 자바와 절차적/구조적 프로그래밍


자바는 객체 지향 언어이면서 근본적으로 프로그래밍 언어임.

프로그래밍 언어로서의 자바의 변수가 메모리에 어떻게 저장되고 사용되는지, 메소드가 어떻게 호출되고 메모리에 어떤 변화를 일으키는지 살펴보자.

📣 자바 프로그램의 개발과 구동

자바 프로그램의 개발과 구동 과저을 현실 세계에 비교해 표현하면 다음과 같다

현실 세계 가상 세계 (자바 월드)
소프트웨어 개발 도구 JDK - 자바 개발 도구 : JVM용 소프트웨어 개발 도구
운영체제 JRE - 자바 실행 환경 : JVM용 OS
하드웨어 - 물리적 컴퓨터 JVM - 자바 가상 기계 : 가상의 컴퓨터

Untitled

프로그램의 메모리 사용 방식

일반적인 프로그래밍 언어의 메모리 사용 방식 : 코드 실행 영역 + 데이터 저장 영역

객체 지향 프로그램의 메모리 사용 방식 : 코드 실행 영역 + ( 스태틱(Static) 영역 + 스택(Stack) 영역 + 힙(Heap) 영역 ) ← T 메모리 구조

📣 자바에 존재하는 절차적/구조적 프로그래밍의 유산

📣 다시 보는 main() 메서드 : 메서드 스택 프레임