- boolean, int, double 같은 각각의 기본 타입은 원시(primitive)타입이라고 알려져 있다.
- JVM에서 객체와 다른 방식으로 다룬다. 왜냐하면 원시 타입은 NULL이 될 수 없기 때문
- int와 long floaf와 double을 구분할수 있어야 한다. long은 L float는 F, double은 D 로 정의 한다.
원시 타입의 종류와 크기
타입 | 크기 |
boolean | 1 |
short | 16 |
int | 32 |
long | 64 |
float | 32 |
double | 64 |
char | 16 |
- char 타입이 unsighed 이고 char 값의 범위는 유니코드 값이므로 0에서 65,535 까지다.
- 원시 타입을 정의할 때 값이 할당되지 않았다면 그 변수는 기본적으로 기본값이 지정된다.
상위 개념 타입으로 암시적으로 타입 변환하기
int value = Integer.MAX_VALUE;
long biggerValue = value + 1;
char 타입을 제외하면 컴파일러는 해당 값을 저장하기 위해 상위 타입을 자동으로 사용할 수 있다.
하위 타입으로 명시적으로 타입 변환
long veryLageNumber = Long.MAX_VALUE;
int from LargeNumber = (int) veryLargeNumber;
- 하위 타입으로 변환하려면 타입을 명시해서 변환해야 한다.
- 하위 타입으로 자주 변환한다는것은 적합한 타입을 사용하지 않는것을 뜻한다.
'java' 카테고리의 다른 글
자바에서 객체란 무엇인가? (0) | 2017.11.15 |
---|---|
왜 Integer.MIN_VALUES에 대응하는 양수가 없는가? (0) | 2017.11.15 |
빌더 패턴은 얼마나 유용한가? (0) | 2017.11.15 |
Map (0) | 2017.11.15 |
이진 탐색 트리 (0) | 2017.11.15 |