열심히 끝까지
1강 자바의 시작 본문
프로그래밍 언어를 배운다는 것 = 컴퓨터와의 대화를 하기 위해서 배우는 것
'자바'라는 프로그래밍 언어를 사용해 컴퓨터와 막힘없이 대화하는 것
1. 프로그램
- 프로그램이란?
나열된 명령들의 집합
: 컴퓨터에게 지시한 명령들을 묶어놓은 것
: 마구잡이로 묶은 것이 아닌 실행 순서대로 묶어놓은 것
- 프로그래밍이란?
: 명령을 내리면 그 명령에 맞게 실행
: 이 명령들을 모아놓은 것을 프로그램
: 그 프로그램들을 만들어서 컴퓨터에게 명령을 내리면
그 명령들로 묶여진 프로그램을 컴퓨터가 실행하는 이 모든 과정을 프로그램+ing => 프로그래밍
2. 프로그래밍
- 프로그래밍 언어란?
: 사람이 컴퓨터에게 명령을 내릴 때 사용하는 언어
: 사람 친화적 언어
- 프로그래밍 언어의 종류?
: 사람과 대화하는 언어에도 여러가지 종류가 있는 것처럼 컴퓨터에게도 여러 언어가 존재
: C언어, C++, Python, Java 등....
: 그 중에서 Java라는 언어를 사용해서 컴퓨터에게 명령
- 일반 프로그램 실행 과정
* C언어
: 컴퓨터가 프로그래밍 언어를 바로 이해할 수 없음 => "기계"이기 때문
: 기계가 이해할 수 있는 언어
=> 기계어(0과 1, 이진수로 이루어진 언어(전류가 통함 : 1, 전류가 통하지 않는다 0)
: 확장자(. 뒤에 있는 것) 파일 생성(.exe)되어야 컴퓨터가 이해 가능
1. 코드 작성(.c 파일 생성 => .exe 파일이 아님)
2. 컴파일(프로그래밍 언어를 기계어로 번역하는 과정)
=> .obj 파일 생성
3. 라이브러리(많은 기능들을 미리 만들어놓고 저장한 곳)를 이용해 링크
=> .exe 파일 생성 => '실행 가능'
4. 디버깅(debug(벌레를 꺼내다) + ing) : 프로그램의 오류를 잡음
5. 실행
* JAVA
1. 자바 프로그래밍 언어를 사용하여 코드 작성
=> .java 파일 생성
2. 컴파일 시 .class 파일 생성
=> 실행
: .exe 없이도 실행 가능한 이유 = JVM
* JVM? (Java Virtual Machine)
- java의 중간 코드를 실행할 수 있는 주체(가상 기계)로, JAVA 프로그램과 OS 사이의 중재자 역할
JVM을 통해 OS(운영체제)에 종속되지 않고 사용하게 도와줌
: JAVA source 작성
-> Java Compiler 통해 컴퓨터가 이해할 수 있는 기계어로 번역(Java byte code=.class)
-> JVM에서 실행
- JVM 구성 : Garbage Collector, Class Loader, Executionn Engine, Runtime Data Areas
- Class Loader : 모든 클래스(코드)는 참조 순간에 동적으로 JVM에 연결되며 메모리에 로딩
- Execution Engine : JVM은 Method Area의 Byte Code를 Execution Engine에 제공하여
Class에 정의된 내용대로 실행
- Runtime Data Areas : 프로그램을 수행하기 위한 OS에서 할당받은 메모리 공간(JVM에서 사용)
: Class, Stack, Heap 영역으로 구성
: Class 영역 - 사용하는 클래스 파일의 바이트 코드가 로드되는 곳
static 변수, 전역 변수 등의 정보가 저장, JVM이 종료될 때까지 유지
: Stack 영역 - 지역변수, 매개변수 등 함수의 호출부터 종료까지 유지
: Heap 영역 - 참조형 변수(주소저장)들이 저장되는 영역(new)
3. JAVA의 정의와 특징
- JAVA 란?
: 미국의 Sun Microsystem사에서 개발한 객체지향 프로그래밍 언어
- JAVA의 특징?
1. 객체 지향 언어이다.
2. 배우기 쉽다.
3. 어느 운영체제(OS)에 상관없이 실행된다. ** 중요 **
4. 메모리 관리를 개발자가 하지 않는다.
5. 동적이며 스레드를 지원한다.( 멀티테스킹 가능 )
6. 네트워크 프로그래밍과 분산처리를 지원한다.
4. 개발 환경 준비
- 설치해야 할 항목?
1. JDK(JRE, JVM 포함)
2. 이클립스
JDK : Java Development Kit
- JAVA 실행 시 필요한 라이브러리 파일 존재
JRE : Java Runtime Envirment
- JVM을 생성하는 부분
JVM : Java Virtual Machine
- JAVA 프로그램을 실행시켜 주기 위한 목적
'멘토씨리즈 JAVA' 카테고리의 다른 글
6강 연산자3 (0) | 2022.04.21 |
---|---|
5강 연산자2 (0) | 2022.04.21 |
4강 연산자1 (0) | 2022.04.20 |
3강 변수와 상수 (0) | 2022.04.20 |
2강 출력 메서드와 입력 메서드 (0) | 2022.04.20 |