프로그래밍이란
* 프로그래밍 : 컴퓨터에게 일을 시키기 위해서 프로그래밍 언어를 사용하여 명령어 집합(프로그램)을 만드는 일
* 컴파일 : 사람이 작성한 소스코드를 컴퓨터가 이해할 수 있는 기계어로 번역해 주는 것
* 컴파일러 : 각 언어에 맞는 컴파일러가 존재한다.
프로그래밍 언어는 크게 두가지로 나눌 수 있다.
* 절차 지향 언어 (Procedure-oriented Language)
- 시간이나 사건의 흐름이 중점이 되는 프로그래밍 언어
- 대표적인 언어는 C언어
* 객체 지향 언어 (Object-oriented Language)
- 데이터를 추상화 시켜 상태와 행위를 가진 객체를 만들고 객체 간 상호작용을 기반으로 프로그램을 개발하는 프로그래밍 언어
- 대표적인 언어 : Java, C## ...
객체 지향 언어의 특징
* 플랫폼에 독립적이다. (Platfoam Independent)
- C언어의 경우 .c 로 작성된 코드를 컴파일하게 되면 platfoam(OS)마다 다른 실행파일이 생성되어 다시 컴파일 해야하는 번거로움이 발생할 수 있다.
- 반면 Java의 경우 컴파일 시 .class 파일이 생성되는데, 각 플랫폼에서 JVM이라는 가상 머신 위에서 실행되기 때문에 다른 플랫폼 상에서 실행될 때 컴파일을 다시 해줄 필요가 없다.
* 안정적
- C언어의 경우 포인터를 사용하여 직접 메모리에 접근하는데 반해, Java는 포인터 개념이나 모호한 부분이 없기 때문에 다운될 확률이 적다.
* 오픈 소스
- JDK(Java Development Kit)를 제공하여 라이브러리가 풍부하고 연동되는 프레임워크가 많다.
* 재사용성
* 유지보수성
자바의 활용 분야
모바일 , 웹, 게임, 임베디드... 와 같은 다양한 분야에서 사용중인 언어이다.
용어 정리
* JDK (Java Development Kit) : 자바에서 제공되는 개발용 라이브러리
* JRE (Java Runtime Environment) : 자바 프로그램이 실행되는 환경
* JVM (Java Virtual Machine) : 자바 가상 머신, JRE 설치되어 있어야 함
'Java & Kotlin' 카테고리의 다른 글
[Java 기초] 조건 연산자, 비트 연산자 (0) | 2022.01.19 |
---|---|
[Java 기초] 자료 표현하기 (0) | 2022.01.19 |
[Java 기초] Eclipse로 자바 프로그램 작성하기 (0) | 2022.01.19 |