프로그래밍이란?
컴퓨터에게 명령을 내려 작업을 수행하게 하는 일.

소스
개발자가 작성한 코드. 이 외의 것(컴파일러, 기계어 등)은 SW 개발자가 신경쓸 것이 아니다.
컴파일러
개발자가 작성한 소스는 컴퓨터라는 기계가 이해할 수 없다. (컴퓨터는 0과 1로된 입출력을 처리하는 기계이기 때문!)
따라서 소스를 기계가 인식할 수 있는 기계어로 변환해주는 인터프리터가 필요한데, 이것이 컴파일러.
Java 언어의 탄생
- 1995년 제임스 고슬링에 의해서 탄생
- 썬 마이크로 시스템즈에서 발표
- Oak 언어에서 시작해 Java 언어로 발전
- 가전제품에 탑재할 수 있는 프로그램을 개발하기 위한 목적으로 탄생 (사실 크게 성공은 못 했다. 이후에 JSP, 서블릿이 유행하며 본격적으로 이름을 알리게 됨.)
Java 언어의 특징

C, C++ | Java |
C : 절차 지향 언어로 모든 구성요소가 유기적으로 연결되어있어 개체를 순차적으로 처리하여 실행 속도가 빠르다. | 객체 지향 언어로 기능을 부품화 할 수 있다. |
운영체제에 따라 컴파일 결과가 다르다. | JRE를 이용해서 운영체제로부터 자유롭다. |
운영체제, 보안 프로그래밍에 최적화. | 웹 및 모바일 프로그래밍이 쉽다. |
메모리를 사용하면 해제해줘야한다. (아니면 누수가 발생.) | GC(Garbage Collector)를 통한 자동 메모리 관리를 지원한다. |
메모리에 직접 접근하기 때문에 속도가 빠르다. | C/C++에 비해 속도가 느리다. |
C : 유지보수가 까다롭고 디버깅이 어렵다. 또한, 실행 순서가 정해져있기 때문에 코드의 순서가 바뀌면 결과가 달라질 가능성이 높다. | 리소스(메모리, CPU)를 많이 사용한다. |
Java 프로그래밍을 위한 기본 준비물

JDK : Java Development Kit
자바 프로그래밍을 하기 위한 각종 도구들이 들어있다. (ex. javac 자바 컴파일러, java 실행 파일)
JRE : Java Runtime Environment
자바 프로그램이 동작할 때 필요한 라이브러리를 갖고 있다. 개발자가 아닌 자바 프로그래밍을 사용하는 사람 입장에서는 JRE만 있으면 됨!
JVM : Java Virtual Machine
Java를 실행하기 위해 필요한 가상 머신. 자바 소스 코드를 컴파일하여 만들어진 바이너리파일(.class)를 실행한다.
JVM은 운영체제에 따라 다르다. (즉, 리눅스 JVM != 윈도우 JVM)
단, Java 언어 특성상 컴파일 된 바이너리 파일은 어떤 JVM 위에서도 동작한다.
"Write Once, Run Anywhere"
'프로그래밍 언어 > 자바(Java)' 카테고리의 다른 글
Java 프로그래밍 05 : Garbage Collection(GC) (0) | 2025.04.06 |
---|---|
Java 프로그래밍 04 : 생성자와 소멸자 그리고 this 키워드 (0) | 2025.04.05 |
Java 프로그래밍 03 : 객체 지향 프로그래밍이란? (0) | 2025.04.04 |
Java 프로그래밍 02 : 프로그램의 실행 구조 (0) | 2025.04.03 |
Java 프로그래밍 00 (0) | 2025.04.02 |