본문 바로가기

국비과정/JAVA (기초)

20230601 _[1일차]_01. 자바기초

[자바기초]

 

 

* Write Once, Run Anywhere : 모든 운영체제(os)에서 사용가능

 

오라클이 인수하면서 유료화.

현업에서는 Java8, java11~ 등 이전버전들 쓰기도함.

현재 Java20 최신 버전이며 사용가능하지만 Java21 출시되면 서비스지원x.

Java8, Java11, Java17 : 10년간 서비스 지원 (LTS)   

->  수업은 Java 17 사용예정

* 스파게티 코드 (spaghetti code) : 컴퓨터 프로그램의 소스 코드가 복잡하게 얽힌 모습을 스파게티의 면발에 비유한 표현.

 다시 말해, 논리나 흐름이 읽기 어려울만큼 복잡하게 꼬여있는 코드!!

 

* JDK (Java Development Kit) : 자바개발도구 (코드짤 때 필요)

JRE (Java Runtime Environment) : 자바실행환경  (내가 짠 코드를 실행할 때 필요)

* JVM (Java Virtual Machine) : 자바가상기계

  바이트코드 파일을 각 os를 위한 기계어로 번역 및 실행, java명령어에 의해 구동

* 컴파일 : 사람이 볼수있는 코드_소스코드(.java) --> 컴퓨터언어로(.class)_바이트코드 파일로 번역

   * 소스코드 : 프로그래밍 언어로 작성된 파일

   * 바이트코드 파일 : 자바 소스 파일을 javac 명령어로 컴파일한 파일.

 

롤, 카카오톡 등등.. 각 운영체제에 맞춰 윈도우, 맥, 리눅스용이 따로 있음.

자바는 똑같! (같은 class파일에 대한 JVM이 각 os별로 따로 있는거)

* 자바 서블릿?

* JSP (Java Server Page)

 

https://  ~~ .do (개인통관고부호, 환경부 등 공공기관, 공기업 등의 홈페이지는 java)

 

코틀린 or 자바 통해 안드로이드 개발 가능

  * 코틀린 : 자바를 대체할 수 있는 언어로, 자바가 실행되는 모든 곳에서 사용가능.

 

[용어]

 

리소스
cpu
 os
자바는 유료?
Java20 vs Java21 추가기능?
객체지향(객체화, 덩어리) VS 절차지향
A -> B -> C언어 -> C++ -> C#
모듈을 재활용


jdk / jre / jvm / lts 무슨 말이지? (tistory.com) 참고*