-
프로그램 : 컴퓨터와 스마트폰에 들어있는 많은 소프트웨어
-
프로그램 = 소프트웨어 = 애플리케이션 = 앱 = 응용 프로그램
-
프로그래밍 : 프로그램을 만드는 작업
-
프로그래밍 언어 : 컴퓨터가 이해하는 언어
-
프로그래머 : 프로그래밍 언어를 사용하여 소프트웨어나 앱을 만드는 직업을 가진 사람을 의미
프로그래밍 언어의 종류
-
컴파일러 언어
- 컴파일 : 소스 코드를 기계어로 번역하는 과정
- 소스 코드를 실행 가능한 기계어로 일괄 번역한 후에 번역이 완료된 파일을 실행하는 언어를 의미함
- 대표적인 컴파일러 언어 : C, C++, JAVA, C#
-
스크립트 언어 (= 인터프리터)
- 소스코드를 한줄 씩 읽어서 실행하는 언어
- 스크립트 언어는 별도의 실행파일이 생성되지 않음
- 대표적인 스크립트 언어 : 파이썬, 자바스크립트 등
-
컴파일러 언어 vs 스크립트 언어
- 컴파일러 언어는 한번에 기계어로 번역하여 목적 프로그램으로 만들어두기 때문에 스크립트 언어보다 속도가 빠름
- 스크립트 언어는 컴파일러 언어보다 빠른 시간 안에 배울 수 있음
📖 2. 자바의 개요
자바의 역사
-
자바의 창시자
- 제임스 고슬링이라는 프로그래머가 1995년에 개발한 객체지향 프로그래밍 언어 → 제임스 고슬링은 자바를 만들 당시에 자바 커피를 아주 좋아하여 그 본고장인 자바섬에서 이름을 따옴 / 자바의 로고는 커피가 담긴 잔을 본뜬 모양임
- 2010년 오라클이 인수해서 자바는 오라클 소유
-
오라클 JDK
- 자바를 개발하기 위한 환경
- 학습용 및 개인의 경우 무료로 사용할 수 있음
- 만약 상업용을 무료로 사용하고 싶으면 Open JDK를 사용해야 함
-
자바의 활용 분야
- 데스크톱, 웹, 모바일, 웹서버, 임베디드, 게임, 클라우드 컴퓨팅, 빅데이터, 인공지능, 사물인터넷 등
- 특히 안드로이드 스마트폰의 수많은 앱은 자바로 작성됨
자바의 특징
-
간결한 문법 제공
- 자바는 다른 프로그래밍 언어에 비해 문법이 쉽기 때문 프로그래밍 초보자가 배우기 좋다
- 복잡한 문법 때문에 프로그램이 복잡해지는 것을 최소화함
-
뛰어난 이식성
- 자바코드는 한 번 작성해놓으면 다양한 운영체제에서 실행할 수 있음
- 자바는 코딩 한번으로 윈도우, 맥, 유닉스, 리눅스 등의 운영체제에서 별도의 코드 수정 없이 사용할 수 있음
-
완전한 객체지향 언어
- 자바는 기존 C언어의 구조적인 프로그래밍 기법을 그대로 지원함
- 실무에서 가장 일반적으로 사용되는 객체지향 프로그래밍 기법을 100% 지원함
-
다양한 분야의 응용 프로그램 작성 가능함
- 대부분의 IT 환경에서 작동하는 응용 프로그램을 자바로 작성할 수 있음
자바 가상 머신
-
자바는 JVM 덕분에 이식성이 뛰어나 한 번 작성한 코드를 거의 모든곳에서 실행할 수 있다
-
JVM은 각 운영체제 설치되는 바이트 코드를 실행하는 소프트웨어
- 윈도우, 맥, 유닉스 등 운영체제 상관없이 한 번 작성한 자바 코드를 동일하게 작동시키는 데 핵심적인 역할을 함
- JVM 역할을 하는 소프트웨어를 자바 소프트웨어, JRE라고 부르기도 함
- JRE는 JVM을 포함하기 때문에 JRE를 설치하면 JVM도 함께 설치된다.
-
JVM - 자바 가상 머신
- 윈도우용 JVM, 리눅스/유닉스용 JVM, 맥에는 맥용 JVM을 설치해야 함
- 무료 배포
자바 설치
-
IDE
- 자바 프로그래밍을 할 때는 메모장과 명령 프롬프트를 사용할 수 있지만 이러한 방식은 매우 불편해 보통 통합개발환경인 IDE를 사용
- 이클립스