개인 일정을 마치고 JAVA 공부를 다시했다. C++, C와 크게 차이가 없을 것으로 알고 있어서 큰 부담은 없었지만 예전에 공부했었음에도 헷갈리는 부분들을 다시 정리해보았다.
16진수 : 컴퓨터는 2진법으로 알고있지만 사람이 사용하기에 2진법이 너무 길기 때문에 사용하는 진수이다. 앞에 0X를 붙여 사용한다.
8 진수 : 마찬가지의 이유로 사용한다. 앞에 0을 붙여 사용한다.
2 진수 : 앞에 0B를 붙여 사용한다.
int num = 10;
int bNum = 0B1010; // 10
int oNum = 012; // 10
int hNum = 0XA; // 10
변수 : 자료를 저장하기 위한 "공간"으로 보통 camelCase를 사용하며 최대한 의미있는 것으로 네이밍한다.
리터럴 : 프로그램에서 사용하는 모든 숫자값, 값, 논리값으로 특정 메모리 공간인 '상수 풀(constant pool)'에 존재한다.
정수는 integer, 실수는 double로 저장되기 때문에 long num = 123412341234L 처럼 'L'을 붙여서 사용한다.
상수 : 프로그램 내에서 변하면 안되는 값으로 final을 붙여서 사용한다.
final int MAX_NUM = 100;
final double PI = 3.14;
개인적으로 좀 많이 놀란 부분이다. JS같은 스크립트 언어에서만 가능한 줄 알았는데 JAVA에서 지원할 줄은 몰랐다.
지역변수로 사용할 경우 변수에 int, float, boolean 등의 자료형 없이 var로 변수를 생성할 수 있다. 이를 지역변수 자료형 추론 이라고 한다.
변수에 대입되는 값을 보고 컴파일러가 추론하는 것이다. (실제로 해보니 되지 않았는데 나중에 그 이유를 찾아볼 생각이다...)
2일차 JAVA 공부를 마치면서 C/C++과 크게 다르지 않아서 배우면서 크게 어려움은 없었고 그동안 다른 공부를 하면서 몇가지 잊은 개념들을 다시 정리할 수 있는 기회가 되었다. JAVA 공부 마무리까지 시간이 많이 남지 않았는데 속도를 좀 더 내어서 공부할 생각이다.