====== Chapter01. 프로그래밍 언어와 자바 ======
* description : Chapter01. 프로그래밍 언어와 자바
* author : 오션
* email : shlim@repia.com
* lastupdate : 2022-07-04 Mon
\\
===== Ref =====
교재 : 혼자 공부하는 자바 / 신용권 지음 / 한빛미디어 / 초판발행 2019년 06월 10일 / ISBN 979-11-6224-187-5 94000\\
[[https://www.youtube.com/watch?v=TndWiOHDFqk&list=PLVsNizTWUw7HZTPU3GpS7nmshXjKKvlbk&index=2|[혼공자]자바 동영상 강의1강-프로그래밍 언어와 자바]]\\
[[https://www.youtube.com/watch?v=CUI0c2fWXHU&list=PLVsNizTWUw7HZTPU3GpS7nmshXjKKvlbk&index=3|[혼공자]자바 동영상 강의1강-프로그래밍 언어와 자바(2)]]\\
===== 정리 =====
프로그램 (program): 특정 목적을 수행하도록 프로그래밍 언어로 작성된 소스를 기계어로 컴파일한 것.\\
==== 기계어 (machine language) ====
* 컴퓨터가 처리하는 0과 1로 이루어진 코드
* 사람과 기계어 사이 다리 역할을 하는 프로그래밍 언어 필요
* 소스 (source) 파일 : 프로그래밍 언어로 작성한 파일
* 컴파일 (compile): 소스 파일을 기계어 파일로 번역
\\
==== 프로그래밍 언어 ====
* 자바(Java) : 임베디드, 웹, 안드로이드 소프트웨어(SW) 개발 분야
* C / C++ : 하드웨어(HW) 장치 제어 및 임베디드 SW 분야
* C++ / C# : 데스크탑 앱 또는 ASPNET기반 웹 SW 분야
* 파이썬(Python) : 빅데이터 분석 및 머신러닝 SW 분야
\\
==== 자바 (Java) ====
* 1995년 마이크로시스템즈(Sun Microsystems)에서 발표
* 현재 웹사이트 및 다양한 애플리케이션 개발의 핵심 언어
* 오라클 라이선스 - 자바 개발 도구의 배포
* 특징
* 모든 운영체제에서 실행 가능
* 객체 지향 프로그래밍 (OOP: Object-Oriented Programming)
* 메모리 자동 정리
* 풍부한 무료 라이브러리
\\
===== 자바 개발 도구 (JDK : Java Development Kit) =====
==== JDK역할 ====
* 자바 언어로 소프트웨어를 개발할 때 필요한 환경 및 도구를 제공하는 역할
\\
==== JDK 종류 ====
* Open JDK : [[https://openjdk.org/|OpenJDK]]\\
* 개발, 학습용 및 상업용 모두 무료로 사용
\\
* Oracle JDK : [[https://www.oracle.com/|ORACLE]]\\
* 개발, 학습용 은 무료로 사용
* 상업용 목적으로 사용할 경우 년간 사용료 지불
* 장기 기술지원(LTS: Long Term Support) 및 업데이트 제공으로 안정적
==== JDK 버전 체계 ====
{{:wiki:miscellaneous:혼공자바:220704_자바버전.png?400|}}\\
\\
^ JDK 버전 ^ 설명 ^
| Java SE 12 | 주 버전이 12 |
| Java SE 11.0.2 (LTS) | 주 버전이 11이고, 수정이 2번 되었음\\ 장기 지원 서비스를 제공받을 수 있는 버전 |
| Java SE 8u202 | 주 버전이 8이고, 수정이 202번 되었음 |
\\
Java SE(표준 에디션)을 구현한 것이 JDK이므로 Java SE = JDK\\
주 버전 내부의 변경 사항이 거의 없기 때문에 대부분의 경우 개선 버전은 0이 됨\\
JDK를 배포하고 나서 주기적으로 업데이트 버전이 제공되면서 업데이트 버전의 숫자가 증가하고,\\
업데이트 버ㅂ전이 높을수록 더 안정화된 버전이라고 생각할 수 있다.\\
\\
{{tag> 오션, 혼공자바, chapter01, 프로그래밍 언어와 자바}}