Archive/Develop

[ JAVA ] 001 - JAVA 소개

코뮤(commu) 2020. 3. 7. 02:04
728x90
반응형

 

 

 

 

 

우리는 흔히 '프로그래밍 언어'를 생각하면 C/C++, Python, Java와 같은 고급언어를 떠올린다.

고급언어란 기계보다 사람에 더 가까운 언어로 사람이 이해하기 쉽고,

복잡한 작업이나 자료 구조, 알고리즘을 표현하기 위해 개발된 언어이다.

 

 

 

 

 

"  절차 지향 언어 VS 객체 지향 언어 "

 

 

 

 

이 고급 언어는 절차 지향 언어객체 지향 언어로 구분 지을 수 있다.

 

 

절차 지향 언어프로그램 전체가 유기적으로 연결되도록 만드는 프로그래밍 언어이다.

순차적인 처리가 중요한 언어라고 할 수 있다. 대표적으로 C언어가 그렇다.

 

 

객체 지향 언어  프로그램을 여러 개의 독립된 단위,

즉 "객체"들의 모임으로 구성하여 만드는 프로그래밍 언어이다. 대표적으로 Java가 그렇다.

 

 

 

 

 

 

"  플랫폼 종속성 VS 플랫폼 독립성 "

 

 

 

인텔사의 CPU를 가진 리눅스 환경에서 C/C++을 사용해 프로그램 개발을 했다고 가정해보자.

이 프로그램을 컴파일한 기계어는 인텔 CPU와 리눅스 운영체제를 가진 컴퓨터에서는 실행되지만,

Apple의 MAC이라거나, 윈도우 운영체제 등에서는 실행되지 않는다.

 

 

 

이러한 문제는 다음과 같은 이유로부터 야기된다.

 

 

- 운영체제마다 실행파일 형식이 다르다.
- 운영체제마다 API가 다르다.
- 기계어가 CPU마다 다르다.

 

 

 

이러한 이유때문에 C와 같은 언어에서는 플랫폼으로부터 자유롭지 못한, 플랫폼 종속성의 성격을 갖는다.

 

 

 

 

반면 플랫폼 독립성을 가진 Java는 프로그램을 '바이트코드'라는 것으로 컴파일된다.

이 '바이트코드'는  자바 가상 기계(JRM)가 설치되어있다면 프로그램을 실행시킬 수 있다.

즉, 컴퓨터 CPU에 의해 직접 실행되지 않고 자바 가상 기계가 작동하고 있는 플랫폼에서 실행한다는 것이다.

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

간단하게 내가 생각하는 자바의 기본을 포스팅해봤다.

원론적인 부분이기 때문에 딱딱한 감이 있지만, 원래 시작은 다 그런 것 아니겠는가. 

다음 포스팅에서는 자바 개발 환경인 이클립스 내에서 아주 간단한 프로그램을 만들어 볼 것이다.

 

 

 

 

 

 

 

 

 

728x90
반응형