[꼼꼼한 개발자] 꼼코더

06. 스프링 입문을 위한 자바 객체 지향의 원리와 이해 - [자바와 절차적/구조적 프로그래밍] - 자바 프로그램의 개발과 구동 본문

Spring/스프링 입문을 위한 자바 객체 지향의 원리와 이해

06. 스프링 입문을 위한 자바 객체 지향의 원리와 이해 - [자바와 절차적/구조적 프로그래밍] - 자바 프로그램의 개발과 구동

꼼코더 2022. 12. 27. 01:41
반응형

🎬 시작

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

2장에서는 프로그래밍 언어로서의 자바를 살펴보자.

 

변수가 메모리에 어떻게 저장되고 사용되는지 메서드가 어떻게 호출되고 메모리에 어떤 변화를 일으키는지

또한 객체 지향 프로그래밍과 스프링으로 나아가기 위한 사전 지식을 점검해 보자.


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

‘아래 그림’은 자바 프로그램의 개발과 구동과정을 나타낸 것이다.

JVM(Java Virtual Machine)의 존재와 역할을 아는 것이 자바 개발 환경을 이해하는 데 필수적이다.

 

JVM은 이름 그대로 가상기계다.

현실 시계에서 컴퓨터를 구동하기 위해 물리적인 컴퓨터인 ‘하드웨어’‘운영체제’, 그리고 그 위에 구동될 ‘소프트웨어’가 필요하고. 거기에 더해 소프트웨어를 개발할 수 있는 ‘개발도구’가 필요하다.

 

자바의 가상세계는 이러한 현실 세계를 그대로 모방하고 있다.

 

 

그림을 RPG게임으로 비유해 설명해 보겠다.

당신의 아바타가 게임 내에서 개발 도구(JDK)를 이용해 프로그램을 개발하고.

그 프로그램을 RPG 게임 내의 가상의 컴퓨터에서(JVM) 실행한다고 생각해 보자.

그 가상의 컴퓨터를 제어하는 운영체제가(JRE)이다.

 


🎨 WORA (Write Once Run Anywhere)와 그림을 통한 JDK, JRE, JVM의 관계 이해

그림을 다시 보면서 JDK, JRE, JVM의 관계를 이해해 보자.

JDK는 자바 소스 컴파일러인 javac.exe를 포함하고 있고

JRE는 자바 프로그램 실행기인 java.exe를 포함하고 있다.

 

자바가 이런 구조를 택한 이유는 기존 언어로 작성한 프로그램은 윈도 XP용, 윈도우 7용, 리눅스용, 맥 OS용 등 각 플랫폼(하드웨어와 OS의 조합) 용으로 베포 되는 설치 파일을 따로 준비해야 했던 불편함을 없애기 위해서다.

 

자바 개발자는 사용 중인 플랫폼에 설치된 JVM용으로 프로그램을 작성하고 베포 하면 각 플랫폼에 맞는 JVM이 중재자로서 각 플랫폼에서 프로그램을 구동하는 데 아무 문제가 없게끔 만들어주는 것이다.

 

이러한 특성을 WORA (Write Once Run Anywhere)라고 한다. 원래 명칭도 기억하길 바란다.

  • JDK : Java Development kit / 자바 개발 도구
  • JRE : Java Runtime Environment / 자바 실행 환경
  • JVM : Java Virtual Machine / 자바 가상 기계

 

위 내용은 스프링 입문을 위한 자바 객체 지향의 원리와 이해 교재를 참고하여 작성되었습니다.

 

스프링 입문을 위한 자바 객체 지향의 원리와 이해 - YES24

자바 엔터프라이즈 개발을 편하게 해주는 오픈소스 경량 애플리케이션 프레임워크인 스프링은 자바와 객체 지향이라는 기반 위에 굳건히 세워져 있다. 따라서 스프링을 제대로 이해하고 활용

www.yes24.com

 

 

 

 

Comments