- 일반적인 프로그램의 실행구조는 : 하드웨어 -> OS -> 프로그램이다. 다시 말해서 하드웨어 위에서 실행되는 운영체제가 프로그램을 실행시키는 구조이다.
- JAVA프로그램은 운영체제와 자바프로그램 사이에 자바 가상머신이 존재한다.
- 자바가상머신에 의해 실행되는 구조로 설계한 이유는 운영체제에 상관없이 실행시키기 위함이다.
자바 컴파일러와 자바 바이트코드
- .java 파일을 가리켜 ‘소스파일’이라하고, 소스파일에 저장된 프로그램 코드를 가리켜 ‘소스코드’라 한다.
- 자바 컴파일러(javac.exe)는 소스파일에 저장되어 있는 소스코드를 가상머신이 이해할 수 있는 ‘자바 바이트코드로’로 변환해주는 프로그램으로 정리할 수 있다.
- java.exe는 자바 가상머신을 구동시키고, 그 위에 자바 프로그램이 실행되도록 돕는 프로그램이다.
변수와 자료형
- 변수란 데이터의 저장고 참조를 위해 할당된 메모리공간으로 말할 수 있다.
- int num; -> 10진수 정수의 저장을 위한 num이라는 이름의 공간을 할당하겠다.
- boolean : 1byte
- char : 2byte
- short : 1byte
- int : 4byte
- long : 8byte
- float : 4byte
- double : 8byte
- 자료형의 선언은 메모리 공간의 데이터 자장 및 참조방식으로 결정하는 것으로 이해할 수 있다.
수와 형변환
- 상수도 메모리 공간에 저장된다.
- 이름이 없다. 그러므로 메모리에 저장된 상수의 값을 변경시킬 수 없다.
- 기본적으로 모든 정수형 상수는 int형으로 표현 및 저장한다.
- 상수를 리터럴이라고도 표현한다.
- long num = 1000000000000; (컴파일 Error)
: 상수는 기본적으로 int로 저장하므로, long num = 10000000000L; (뒤에 L을 붙인다. : Long형으로 표현 요청)
- 형변환은 값의 표현 방식을 바꾸는 것이다.
- 자바에서는 자동 형변환과 명시적 형변환이 있다.
- 자동 형변환
double num1 = 20;
- 자료형이 실수인 double형 이지만, 대입 대상이 되는 값이 int형 정수 20으로 자동으로 double형 실수 20.0으로 형변환되어 저장된다.
- 자동 형변환은 데이터의 손실이 발생하지 않거나, 발생하더라도 그 손실이 제한적인 경우에만 자동 형 변환을 허용한다.
배운점 : 자바에서 변수를 선언하고, 그 변수가 메모리에 어떤 식으로 저장되는지를 다시 한번 알게 되었다.또 상수와 기본적인 형변환에 대해 알게 되었다. 자동으로 형변환을 해서 저장되었을 때 어떤 기준으로 되는지도 알게 되었다.