[JAVA] 자료형
첫번째 게시글인 형변환에서 int형변환 시 타입의 허용 범위에 따라 값이 달라진 다는 것을 알았다.
그래서 이번 게시글에는 자료형에 대해서 정리할 것이다.
(전공자면 이미 학교에서 배웠겠지만 비전공자인 나는 곧 서른이 되는 이 나이에 지금 배우는게 슬프다… ㅠㅠ)
일단 JAVA의 자료형은 크게 기본형(Primitive type)과 참조형(reference type)으로 나뉜다.
1. 기본 자료형(Primitive type)
분류 | 이름 | 바이트 수 | 데이터의 표현 범위 |
---|---|---|---|
정수형 | byte | 1 | -127 ~ +128 |
short | 2 | -32,768 ~ + 32,767 | |
int | 4 | -2,147,483,648 ~ +2,147,483,647 | |
long | 8 | -9,223,372,036,854,775,808 ~ +9,223,372,036,854,775,807 | |
실수형 | float | 4 | 단정도 실수형 (유효 자리는 7 정도임) |
double | 8 | 배정도 실수형 (유효 자리는 15정도) | |
문자형 | char | 2 | 0 ~ 65,535(유니코드 문자열) |
논리형 | boolean | 1 | true, false |
- 기본 자료형은 default 값이 존재하기 때문에 null이 없다.
- 실제 값을 저장하는 공간인 스택(Stack) 메모리에 저장된다.
- 데이터의 표현 범위를 벗어난 값을 넣으면 컴파일 에러가 발생한다.
2. 참조형 타입(Reference type)
- 기본형 타입을 제외한 모든 타입들
- Null이 존재한다
- 값이 저장된 주소값을 저장하는 힙(Heap) 메모리에 저장된다.
- NullPointException이 발생할 수 있다. 조심하라.
- 참조형 타입 예시
- 배열(array[])
- 열거(enum)
- 클래스(class)
- 인터페이스(interface)
Comments