프로그램은 set of instruction
Q. 프로그램이 실행된다는 의미
프로그램, 프로그래밍 → 컴퓨터가 일을 수행하도록 프로그래밍 언어로 명령어를 만드는 것
프로그래밍을 통해서 프로그램이 실행된다
→ Memory에 탑재된다
프로그램 실행과정
- fetch
- decoding
- excution
- write back
컴파일이란?
- 텍스트로 작성한 프로그램을 시스템이 이해할 수 있는 기계어(byte code:0,1)로 변환하는 과정
- 보통 컴파일 과정과 라이브러리 링크 과정을 묶어서 수행하는 것을 의미
compile을 하기위해서는 compiler가 필요
ex) Linux : gcc
int i = 10
String str = "Kim"
- Java에서 Compiler
- JVM (Java Virtual Machine)
- JVM이 인식할 수 있는 Java Bytecode로 변환
- JRE ( Java Runtime Environment)→ JVM
- JRE는 자바로 개발(쓰기)은 안되고 실행(읽기)만 된다.
- 자바로 만들어진 프로그램을 실행 시키는데 필요한 라이브러리들과 각종 API
- JDK (Java Development Kit)→ Java compiler, 문서 및 개발도구등이 포함 → JRE, JVM
- 개발자들이 자바로 개발하는데 사용
→ Java 프로그램을 직접 개발하려면 JDK가 필요하고, Java로 만들어진 프로그램을 실행하려면 JRE가 필요
- Java 실행 구조→ window, mac, linux등 .class파일만 전달하면 실행이 가능하다. JVM위에서
- Myprogram.java → compiler → Myprogram.class → JVM → OS
- 객체지향 언어 (c++, python, java, …)
- 객체 지향 언어의 반대 개념 - c, pascal, cobol, … : 절차 지향 언어
- Object Oriented Programming : 시간순이 아닌 객체(class)간의 협력을 기반으로 하는 프로그램
// c style
int calculator (int size) {
....
}
int main() {
....
int sum = calculator(size)
}
// java style
public class Myprogram {
public static int calculator(int size) {
....
return num;
}
public static void main(String[], args) {
....
int sum = Myprogram. calculator(size)
}
}
int main(){
int *ptr = (int *)malloc(5* sizeof(int)
ptr[0] = 10
free(ptr)
}
public class MemoryMem{
public static void main(String[] args) {
int arr[] = new int[5]
arr[0] = 10
// Java에서는 메모리를 명시적으로 해제하지 않습니다.
}
}
- Object (객체)객체는 특성과 행동 학생의 예를 들자면
- attr = 이름, 학년, 학번 method = 공부하다, 밥먹다, 놀다
- 객체는 자신만의 고유한 특성(=attr)과 행동(=method)을 가진다.
'Java 기초' 카테고리의 다른 글
Java 기초 (4. Overload vs Override) (2) | 2024.03.12 |
---|---|
Java 기초 (연습하기-1) (0) | 2024.03.12 |
Java 기초 (3. Switch문, While문) (0) | 2024.02.29 |
Java 기초 (2. 형변환과 연산자, 조건문) (2) | 2024.02.28 |
Java 기초 (1. 메모리와 데이터 타입) (2) | 2024.02.27 |