타입이란?
- 해당 데이터가 메모리에 어떻게 저장되고, 프로그램에서 어떻게 처리되어야 하는지를 명시적으로 알려주는 것
- 자바에는 크게 기본형 타입과 참조형 타입이 있다.
기본형 타입(Primitive type)
- 총 8개의 타입이 존재
- 자바에서 미리 형식을 정의하여 제공
- 기본값이 존재하기 때문에 Null 개념이 존재하지 않음
- 만약, 기본형 타입에 Null 을 넣고 싶다면 래퍼 클래스를 활용하면 됨
- 실제 값을 저장하는 공간
- 스택(Stack) 메모리에 저장
- 주로 문법상의 에러로 빨간 줄이 쳐지는 경우처럼 컴파일 시점에 담을 수 있는 크기를 벗어나면 에러를 발생시키는 컴파일 에러가 발생한다.
타입 | 할당되는 메모리 크기 | 기본값 | 데이터의 표현 범위 | |
논리형 | boolean | 1 byte | false | true, false |
정수형 | byte | 1 byte | 0 | -128 ~ 127 |
short | 2 byte | 0 | -32,768 ~ 32,767 | |
int (기본) | 4 byte | 0 | -2,147,483,648 ~ 2,147,483,647 | |
long | 8 byte | 0L | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | |
실수형 | float | 4 byte | 0.0F | (3.4 X 10-38) ~ (3.4 X 1038) 의 근사값 |
double (기본) | 8 byte | 0.0 | (1.7 X 10-308) ~ (1.7 X 10308) 의 근사값 | |
문자형 | char | 2 byte (유니코드) | '\u0000' | 0 ~ 65,535 |
참조형 타입(Reference type)
- 기본형 타입을 제외한 모든 타입
- 기본형 타입과 달리 빈 객체를 의미하는 Null 개념이 존재
- 값이 저장되어 있는 곳의 주소값을 저장하는 공간
- 힙(Heap)메모리에 저장
- 문법상으로 에러가 없지만, 실행시 에러가 나는 런타임 에러가 발생
- 예를 들어 객체나 배열을 Null 값으로 받으면 NullPointException 에러가 발생하므로 그에 대한 Null 처리를 하는 등의 조치가 필요
타입 | 예시 | 기본값 | 할당되는 메모리 크기 |
배열(Array) | String[] str = new String[5]; | Null | 4 byte (객체의 주소값) |
열거(Enumeration) | Null | ||
클래스(Class) | String str = “test”; Student nayeon = new Student(); |
Null | |
인터페이스(Interface) | Null |
참고 블로그
'1일1복습' 카테고리의 다른 글
[자바] JVM 이란 (0) | 2024.05.14 |
---|---|
[디자인 패턴] MVC 패턴 (0) | 2024.05.13 |
[Git] git 영역과 상태 용어 정리 (0) | 2024.05.12 |
[자바] 접근제어자 (0) | 2024.05.11 |
[네트워크] GET 과 POST 요청의 차이 (0) | 2024.05.09 |