2023. 9. 7. 17:21ㆍJAVA
2023년 09월 7일 목요일 첫수업 시작
● 프로그램 이란?
나열된 명령들의 집합
● 프로그래밍이란?
사람이 컴퓨터에게 명령을 내리면 컴퓨터는 그에 맞는 명령을 실행하게 되는데 이 모든 과정을 프로그래밍이라 한다.
● 프로그래밍 언어란?
사람이 컴퓨터에게 명령을 내릴 때 사용하는 언어
● 프로그래밍 언어의 종류?
C언어, C++, Python, Java .....
● JAVA 프로그램 실행 과정
코드작성(.java 파일생성) -> 컴파일(.class 파일생성) -> 링크 -> 디버깅 -> 실행
+ 프로그래밍 언어 : 사람 친화적인언어이기 때문에 PC가 프로그래밍 언어를 바로 이해할 수 없다.
PC가 이해할 수 있는 언어 => 기계어(0과 1 이진수로 이루어진 언어)
● 컴파일이란?
프로그래밍언어를 기계어로 번역하는 것
● 디버깅이란?
프로그램의 오류를 잡다
● JAVA 프로그램의 실행구조
Program -> JVM -> OS -> Hardware
● JVM? [Java Virtual Machine]
java의 중간 코드를 실행할 수 있는 주체로, JAVA프로그램과 OS사이의 중개자 역할
JVM을 통해 OS에 종속되지 않고 사용하게 도와줌
● JVM의 구성
- ClassLoader :
모든 클래스[코드]는 참조 순간에 동적으로 JVM에 연결되며 메모리에 로딩
- Execution Engine :
JVM은 Method Area의 Byte Code를 Execution Engine에 제공하여 class에 정의된 내용대로 실행
- Runtime Data Areas :
프로그램을 수행하기 위한 OS에서 할당받은 메모리 공간
● Runtime Data Areas의 구성
1. Class 영역 : 사용하는 클래스 파일의 바이트 코드가 로드되는 곳으로
static 변수, 전역변수 등의 정보가 저장되며, JVM이 종료될 때까지 유지
2. Stack 영역 : 지역변수, 매개변수 등 함수의 호출부터 종료까지 유지
3. Heap 영역 : 참조형 변수[주소저장] 들이 저장되는 영역[new]
●JAVA란?
미국의 SunMicrosystems사에서 개발한 객체지향 프로그래밍 언어
●JAVA의 특징
- 객체 지향 언어이다.
- 배우기 쉽다.
- 어느 OS에 상관없이 실행된다.
- 메모리 관리를 개발자가 하지 않는다.
- 동적이며 스레드를 지원한다.
- 네트워크 프로그래밍과 분산처리를 지원한다.
여기까지는 선행학습내용정리
======================================================================================
그리고 여기서 부터가 실제 강의 내용정리
1. 자바 파일 생성(클래스 -> 하나의 프로그램)
============================================================================================
금일 실습 및 숙지한 것들 = 자바 설치방법, 변수, cmd를 활용한 프로그램동작원리
요약 : 실질적으로 활용할 수 있는 것들 중에 자주쓰이는 것들에 대해 반복학습
새롭게 알게된 사실 : 같은 정수형, 실수형, 문자열 중에도 int, long, String, double을 제외한 나머지는 잘쓰이지 않는다.
.
.
.
.
.
.
.
.
오늘의 결론
진짜 지옥같은 알차고 맛있는 하루였다.