1. 프로그래밍 언어와 자바

2024. 3. 22. 10:39Java/자바 완전 정복

■ 프로그래밍 언어 : 컴퓨터가 이해할 수 있는 명령을 작성하기 위한 도구를 말함. 

- 고급언어 : 인간이 이해하기 쉬운 문장을 사용해 컴퓨터가 수행해야 할 작업을 정의한 언어

- 기계어 : 2진 데이터로 구성된 컴퓨터가 직접 알아들을 수 있는 언어

- 어셈블리어 : 고급 언어와 기계어 사이에 있으며 기계어와 1:1로 대응되어 기계어에 가까움

- 컴파일러 : 고급 언어를 컴퓨터가 이해할 수 있는 언어로 변환하는 역할

 

※ 컴퓨터는 플랫폼에 따라 다른 기계어를 사용하기 때문에 플랫폼에 따라 다른 컴파일러가 필요함. 자바의 가장 큰 장점은 '플랫폼 독립성' 

 

■ 자바의 플랫폼 독립성

- 플랫폼 종속성 : 윈도우, 맥, 리눅스 운영체제의 실행 파일(.exe, .app, .sh)은 일종의 기계어 집합체인데 이 실행 파일은 각 플랫폼에서만 실행되는 성격을 플랫폼 종속성이라고 함.

 

- 플랫폼 독립성 : 종족성과는 반대로 하나의 프로그램이 모든 플랫폼에서 실행 가능한 성격을 의미함. 자바가 이런 성격을 가질 수 있는 이유는 '자바 가상 머신(JVM)' 덕분

 

■ 자바 개발 도구(JDK) : 자바로 개발하려면 '자바 개발 도구(JDK)'와 '자바 실행 환경(JRE)'을 이해해야함.

- 자바 개발 도구 : 자바를 이용해 프로그램을 개발하는데 필요한 도구를 모아둔 집합체

- 자바 실행 환경 : 완성된 프로그램을 실행하는데 필요한 환경

- JDK을 가져와 프로그램을 완성하고 JRE 위에서 실행하면 프로그램이 돌아가는 것.

 

■ 자바 프로그램의 기본 구조

- 자바 소스 코드의 실행 과정 

 1) 소스 파일(.jpg) 작성

 2) 컴파일을 수행하면 JVM에서 동작하는 바이트 코드(.class)가 생성됨

 3) 바이트 코드를 실행하면 JVM은 운영체제에서 메모리를 할당받아 프로그램을 실행한다.

※ JVM은 메모리를 효율적으로 관리하기 위해 메소드 / 스택 / 힙 영역으로 나눠 사용한다. main() 메소드는 자바의 시작 지점이자 끝 지점

 

 

 

 

'Java > 자바 완전 정복' 카테고리의 다른 글

4. 제어문  (0) 2024.03.28
3. 연산자  (0) 2024.03.27
2. 자료형  (0) 2024.03.25