프로그래밍 언어와 자바(Java), 바이트코드 파일 및 자바 가상 머신(JVM)
*프로그래밍 언어와 자바(Java), 바이트코드 파일 및 자바 가상 머신(JVM)
*프로그래밍 언어
-컴퓨터가 이해할 수 있는 기계어(machine language)는 0과 1로 이루어진 이진코드 사용
-이진코드는 사람이 이해하기에는 매우 어려움
-프로그래밍 언어는 사람과 컴퓨터가 대화하기 위해 사람의 언어와 기계어의 다리 역할을 함
-프로그래밍 언어는 고급 언어와 저급 언어로 구분됨
-고급언어
--컴퓨터와 대화할 수 있도록 만든 언어 중 사람이 쉽게 이해할 수 있는 언어
--소스(source)파일 : 고급 언어로 작성한 파일
--소스파일은 컴파일(complie)과정을 통해 컴퓨터가 이해할 수 있는 이진코드로 변환 후 사용
--고급언어 종류 : 자바(Java), C, C++, C#, 파이썬(Python) 등
-저급언어
--기계어에 가까운 언어, 대표적으로 어셈블리어가 있음
*자바(Java)
-1995년 썬 마이크로시스템즈에서 발표 후 다양한 분야에서 사용되고 있음
-안드로이드 애플리케이션, 웹사이트 개발, 데스크톱 애플리케이션에서 사용됨
-자바는 오라클에서 라이선스를 가지고 있음
-오라클은 자바개발도구(Java Development Kit, JDK)를 배포함
-JDK(Java Development Kit) : 자바 개발 도구, 자바로 프로그램을 쉽게 개발할 수 있도록 하는 기술적인 지원
*자바 특징
-모든 운영체제에서 실행 가능 : 운영체제와 상관없이 모두 실행 가능함
-객체 지향 프로그래밍(Object Oriented Programming, OOP) : 먼저 객체(부품)을 만들고 이 객체들을 서로 연결해 더 큰 프로젝트 생성하는 기법
-메모리 자동 정리 : 메모리(RAM)를 자동 관리함
-무료 라이브러리 : 무료인 오픈소스 라이브러리가 풍부하여 개발기간 단축시켜줌
*바이트코드 파일과 자바 가상 머신
*바이트코드 파일(ByteCode)
-JDK 설치 후 자바 언어로 작성한 소스파일(.java)을 컴파일 하면 바이트코드 파일이 생성됨
-소스파일(.java)은 javac명령어를 통해 컴파일 하며, 확장명이 .class인 바이트코드 파일로 생성
-운영체제 상관없이 동일한 소스파일(.java)을 컴파일하면 모두 동일한 바이트코드 파일(.class)이 생성됨
*자바 가상 머신(Java Virtual Machine, JVM)
-JVM(자바 가상 머신)을 구동시켜 바이트코드 파일(.class)을 기계어로 번역하고 실행
-바이트코드 파일(.class)을 java명령어를 통해 JVM(자바 가상 머신)을 구동시켜 기계어로 번역하고 실행시킴
*바이트코드 파일과 JVM
-소스파일(.java) --(javac 컴파일)--> 바이트코드 파일(.class) --(java JVM구동)--> 기계어 번역 후 실행
-바이트코드 파일은 운영체제와 상관없이 모두 동일한 내용으로 생성됨
-자바가상머신 JVM은 운영제체가 이해하는 기계어로 번역해야 하므로 운영체제별로 다르게 설치하여 사용됨
*자바 프로그램의 개발 및 실행을 위한 설치
-JDK설치(Java Development Kit) : 자바개발도구
-이클립스(Eclipse) 설치 : 통합개발환경
-설치 방법 : https://heeyjinny.tistory.com/131
*JDK
-JDK는 Java SE(Standard Edition)의 구현체
-JDK에는 Open JDK, Oracle JDK가 있음
-Open JDK 의 JDK LTS(Long Term Support) 버전 사용
-JDK LTS버전 : 장기간 기술 지원을 받을 수 있는 버전, JDK8, JDK11, JDK17이 있음
-현재 Open JDK17 버전을 사용함
*이클립스(Eclipse)
-자바 프로그램 개발 시 편리한 기능을 갖춘 통합 개발환경(Interated Development Environment, IDE)
-가장 많이 사용하는 통합 개발 환경
이 포스팅에 작성한 내용은 신용권, 임경균, ⌜이것이 자바다⌟, 한빛미디어(주), 2022 에서 발췌하였습니다.