Java

프로그래밍 언어, 프로그램 컴파일, 자바 역사

빵아지 2023. 2. 8. 21:53

컴퓨터와 프로그래밍


- 하드웨어 : pc, 키보드, 마우스, 테블릿
- 소프트웨어 or 프로그램 : 컴퓨터 하드웨어를 작동시켜 쇼핑을 하고 음악 듣기 할 수 있게 만드는 것
ex) 문서 편집, 게임, 모바일 채팅, 지도 등

4차 산업을 이끌 핵심 에너지=소프트웨어에 있음


프로그래밍 언어


=컴퓨터가 실행할 프로그램을 작성하는 언어
CPU는 이진수만 이해 가능
(이진수 명령어들로 구성된 언어=기계어)

- 기계어는 사람이 직접 작성하기 어려움
- 그래서 어셈블리어가 만들어짐, 어셈블리어 또한 사람이 다루기 어려움
- 사람이 이해하기 쉽고, 복잡한 알고리즘이나 프로그램, 자료를 효율적으로 표현 가능한 '고급언어' 생김

*고급언어: 절차 지향 언어 형태->객체 지향 언어로 진화
*대표적인 객체 지향 언어: C++, 자바, C#
*자바: C/C++언어 구조를 차용
+ 보다 강력한 객체 지향 언어로 설계됨

프로그램 컴파일과 실행


소스 프로그램 편집 및 개발->소스 프로그램->컴파일러->컴파일->기계어->프로그램 실행

컴퓨터는 C/C++, 자바 같은 고급 언어로 작성된 프로그램은 직접 처리x
->컴파일 과정 필요

#컴파일: 컴퓨터가 실행할 수 있는 기계어 코드로 변환하는 것
#컴파일러: 컴파일을 전담하는 소프트웨어, 각 언어마다 전용 컴파일러 있음

<과정>
1. 자바 소스 프로그램의 확장자 .java
2. 자바 전용 컴파일러에 의해 .class 파일로 컴파일 됨
3. 클래스 파일은 자바 가상 기계에 의해 실행됨


자바의 역사


- 1991년 선마이크로시스템스는 제임스 고슬링 엔지니어 중심으로 가전제품에 사용할 소프트웨어를 개발하려 함
- 기존 프로그래밍 언어로 작성된 프로그램은 플랫폼 간 호환성x
- 이로 인해 플랫폼에 따라 다시 소스를 컴파일 or 프로그램 재작성 했어야 함
- 선마이크로시스템스는 플랫폼 독립적 + 메모리 사용량 적음 -> 처음에는 '오크'라 불림
- 오크를 발전시켜 1995년 자바라는 이름으로 새로운 기술 발표
- 데이터베이스로 유명한 오라클에서 선마이크로시스템스 인수
- 현재는 오라클에서 자바를 제공


WORA = 자바의 특징


Write Once Run Anywhere
=자바 프로그램은 어디서든 한 번 작성하면 다시 컴파일x, 수정x, 어떤 하드웨어나 운영체제에서도 실행 가능
(플랫폼에 무관함)



바이트 코드


-자바 가상 기계에서만 실행되는 기계어
-오라클에서 배포하는 JDK(Java Development Kit)에는 자바 클래스 파일을 디어셈블하여 바이트 코드를 볼 수 있는 도구 제공


JDK


JDK = 자바 개발자를 위한 상업용 소프트웨어