추씨의자바일기1편

2023. 9. 7. 17:21JAVA

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의 특징

  1. 객체 지향 언어이다.
  2. 배우기 쉽다.
  3. 어느 OS에 상관없이 실행된다.
  4. 메모리 관리를 개발자가 하지 않는다.
  5. 동적이며 스레드를 지원한다.
  6. 네트워크 프로그래밍과 분산처리를 지원한다.

여기까지는 선행학습내용정리

 

======================================================================================

 

그리고 여기서 부터가 실제 강의 내용정리

 

1. 자바 파일 생성(클래스 -> 하나의 프로그램)

- 클래스(객체) : 변수, 메소드(동작), getter, setter 모든 것을 포함하고 있는 덩어리
- 파일이름 = 클래스이름 동일하게 작성, 클래스 이름은 무조건 첫글자 대문자
- 자바는 대소문자 정확하게 지켜서 작성
 
Hello World ~ 출력하는 자바 프로그램 작성
2. 클래스 : public class 클래스이름 {}
  사람이 작성한 영어를 컴퓨터가 인식할 수 있게 javac
 
  javac 파일이름.java
  java 파일이름
 
 javac -d 파일이름.java
 
print() : 이어 적을 때
println() : 개행(줄바꿈 할 때)
 
3. Hello
  World 두 줄로 출력하는 프로그램 작성
 (0) 자바에서는 폴더(html, css, js)가 아니라 패키지(.java, .class)
     java Project 큰 폴더
 (1) 파일이름 : Hello.java
 (2) 주석 작성 : 유지보수할 때 설명 글(프로그램으로 실행X)
     /* 설명 */
     한줄일 때 //
 (3) 클래스 생성
 (4) 출력 코드
 
이름규칙
- 패키지, 메소드, 변수 이름은 소문자 시작, 단어와 단어가 이어질 때는 이어지는 단어의 첫글자는 대문자
  num
  num + string => numString
  log + in => logIn
 
- 클래스는 대문자 시작
 
   강형 타입 체크 프로그램

 

   C, C++, Java
   - 타입을 정확하게 체크
   int 10
   double  0.1
   float
   String abcde
 
   약형 타입 체크 프로그램
   - javascript, 웹 언어
   - 10, abcde
   - let 10
     let abcde
 
-----------------------------
1. Primitive Type = 스택메모리 저장
정수 : int
ex) int a =10;
실수 : double
논리형 : boolean
 
2. Reference Type = 힙메모리 저장
문자열 : String
정수 : Integer
실수 : Double
논리형 : Boolean
객체, 배열
----------------------------
100 숫자를 출력하시오
단, 기존 자바 프로젝트를 활용한다.
 
1. 클래스 이름은 Var.java
2. 주석
3. 변수 이름은 num
4. 정수값 100 입력
5. 출력

============================================================================================

 

금일 실습 및 숙지한 것들 = 자바 설치방법, 변수, cmd를 활용한 프로그램동작원리

요약 : 실질적으로 활용할 수 있는 것들 중에 자주쓰이는 것들에 대해 반복학습

새롭게 알게된 사실 : 같은 정수형, 실수형, 문자열 중에도 int, long, String, double을 제외한 나머지는 잘쓰이지 않는다.

.

.

.

.

.

.

.

.

오늘의 결론 

 

진짜 지옥같은 알차고 맛있는 하루였다.

'JAVA' 카테고리의 다른 글

추씨의자바일기6편  (0) 2023.09.14
추씨의자바일기5편  (0) 2023.09.13
추씨의자바일기4편  (0) 2023.09.12
추씨의자바일기3편  (0) 2023.09.11
추씨의자바일기2편  (0) 2023.09.08