변수는 데이터를 다루는 종류에 따라 다양한 형식이 존재한다

String은 첫 글자가 대문자로 시작하는 특별한 타입이다

지정한 타입에 맞지 않는 값을 사용하면 컴파일 오류가 발생한다
코드에서 개발자가 직접 적은 100,10.5,true,'A',"Hello Java"와 같은 고정된 값을 프로그래밍 용어로 리터럴(literal)이라 한다

변수의 값은 변할 수 있지만 리터럴은 개발자가 직접 입력한 고정된 값이다 따라서 리터럴 자체는 변하지 않는다

메모리를 작게 사용하면 작은 숫자를 표현할 수 있고, 메모리를 많이 사용하면 큰 숫자를 표현할 수 있다
변수를 선언하면 표현 범위에 따라 메모리 공간을 차지한다 그래서 필요에 맞도록 다양한 타입을 제공한다


- 정수 리터럴은 int를 기본으로 사용한다 따라서 int범위까지 표현할 수 있다 숫자가 int범위인 약 20억을 넘어가면 L을 붙여서 정수 리터럴을 long으로 변경해야 한다
- 실수 리터럴은 기본이 double형을 사용한다 float형을 사용하려면 f를 붙여서 float형으로 지정해야 한다

메모리 용량은 현재 매우 저렴하다 따라서 메모리 용량을 절약하기 보다는 개발 속도나 효율에 초점을 맞추는 것이 더 효과적이다
규칙을 지키지 않으면 컴파일 에러가 난다
자바에서 클래스 이름의 첫 글자는 대문자로 시작한다 그리고 나머지는 모두 첫 글자를 소문자로 시작한다 여기에 낙타 표기법을 적용하면 된다
예외가 딱 2개 있다
- 상수는 모두 대문자를 사용하고 언더바로 구분한다
ex) USER_LIMIT- 패키지는 모두 소문자를 사용한다
ex) org.spring.boot