Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
Tags
- 윤성우의 열혈 자료구조
- coding test
- datastructure
- JSON
- C 언어 코딩 도장
- 혼자 공부하는 C언어
- list 컬렉션
- C programming
- Selection Sorting
- Graph
- 알기쉬운 알고리즘
- 메모리구조
- Serialization
- 이것이 자바다
- R
- 윤성우 열혈자료구조
- Algorithm
- s
- insertion sort
- Stack
- buffer
- 이스케이프 문자
- stream
Archives
- Today
- Total
Engineering Note
[스프링 입문을 위한 자바 객체 지향의 원리와 이해] 자바와 절차적/구조적프로그래밍 본문
Programming Language/Java
[스프링 입문을 위한 자바 객체 지향의 원리와 이해] 자바와 절차적/구조적프로그래밍
Software Engineer Kim 2022. 4. 22. 21:01자바 프로그램의 개발과 구동
- 자바로 작성한 소스코드는 C언어와 다르게 하나의 컴파일로 목적프로그램을 만들면 자바 개발환경이 설치된 어느 컴퓨터에서 실행 가능하다.
- JVM(Java Virtual Machine)의 존재와 역할을 아는 것이 자바 개발환경을 이해하는데 필수적이다. JVM은 컴퓨터를 구동하기위한 현실 세계르 모방하여 만들어졌다. 현실세계에서 컴퓨터를 구동하기 위해서는 물리적 컴퓨터인 하드웨어와 운영체제, 그리고 그위에서 구동될 소프트웨어가 필요하다. 거기에 더해 ㅅ호프트웨어를 개발할 수 있는개발 도구가 필요하다. 자바의 가상세계는 이러한 현실 세계를 그대로 모방하고 있다.
| 현실 세계 | 가상 세계(자바 월드) |
|---|---|
| 소프트웨어 개발 도구 | JDK - 자바 개발 도구, JVM용 소프트웨어 개발 도구 |
| 운영체제 | JRE - 자바 실행 환경, JVM용 OS |
| 하드웨어 - 물리적 컴퓨터 | JVM - 자바 가상 기계, 가상의 컴퓨터 |
- 현실 세계에서 소프트웨어, 즉 프로그램은 개발자가 개발 도구를 이용해 개발하고 운영체제를 통해 물리적 컴퓨터인 하드웨어 상에서 구동된다. 자바가 만들어 주는 가상 세계도 이와 마찬가지다. 자바 개발 도구인 JDK를 이용해 개발된 프로그램은 JRE에 의해 가상의 컴퓨터인 JVM 상에서 구동된다.
- 배포되는 JDK, JRE, JVM은 편의를 위해 JDK가 JRE를 포함하고 다시 JRE는 JVM 을 포함하는 형태로 배포된다.
- JDK는 자바 소스 컴파일러인 javac.ese를 포함하고 있고, JRE는 자바 프로그램 실행기인 java.exe를 포함하고 있다. 자바가 이런 구조를 택한 이유는 기존 언어로 작성한 프로그램은 윈도우 95용, 윈도우 XP용, 윈도우 7용, 윈도우 8용 리눅스용, 애플 맥OS X용 등 각 플랫폼(하드웨어와 OS의 조합)용으로 배포되는 설치파일을 따로 준비해야 했던 불편함을 없애기 위해서다. 자바 개발자는 본인이 사용 중인 플랫폼에 설치된 JVM용으로 프로그램을 작성하고 배포하면 각 플랫폼에 맞는 JVM이 중재자로서 각 플랫폼에서 프로그램을 구동하는 데 아무 문제가 없게끔 만들어주는 것이다.
자바 프로그램의 개발과 구동
- 자바로 작성한 소스코드는 C언어와 다르게 하나의 컴파일로 목적프로그램을 만들면 자바 개발환경이 설치된 어느 컴퓨터에서 실행 가능하다.
- JVM(Java Virtual Machine)의 존재와 역할을 아는 것이 자바 개발환경을 이해하는데 필수적이다. JVM은 컴퓨터를 구동하기위한 현실 세계르 모방하여 만들어졌다. 현실세계에서 컴퓨터를 구동하기 위해서는 물리적 컴퓨터인 하드웨어와 운영체제, 그리고 그위에서 구동될 소프트웨어가 필요하다. 거기에 더해 소프트웨어를 개발할 수 있는개발 도구가 필요하다. 자바의 가상세계는 이러한 현실 세계를 그대로 모방하고 있다.

메모리 사용 방식
- 공통적으로 프로그램은 크게 명령어와 데이터로 나눌 수 있다. 명령어는 메모리의 코드 실행 영역에 저장되고 데이터는 데이터 저장 영역에 저장된다.
- 객체 지향 프로그램에서는 데이터 저장 영역을 다시 세개의 영역으로 분할해서 사용한다.

'Programming Language > Java' 카테고리의 다른 글
| Window에 Java 파일 여러개 설치 feat batch (0) | 2022.08.03 |
|---|---|
| [Java] this 키워드 (0) | 2022.08.02 |
| [Java] 변수의 scope와 static (0) | 2022.07.09 |
| [스프링 입문을 위한 자바 객체 지향의 원리와 이해] 기계어에서 객체 지향 프로그래밍 언어로 (0) | 2022.04.21 |
| Java의 Array (0) | 2021.06.05 |
Comments
