728x90
반응형
자바의 데이터 타입(Primitive type, Reference type)
자바의 데이터 타입은 크게 Primitive type, Reference type으로 나뉨
기본 타입(Primitive type)
- 기본 타입은 정수, 실수, 문자, 논리 값 등의 데이터를 직접 저장하는 타입으로 자바에서는 다음과 같은 8가지 기본 타입을 제공함
- 기본값이 있기 때문에 Null이 존재하지 않음. 만약 기본형 타입에 Null을 넣고 싶다면 래퍼 클래스를 활용
- 스택(Stack) 메모리에 저장
타입 | 할당되는 메모리 크기 | |
정수형 | byte | 1 byte |
short | 2 byte | |
int | 4 byte | |
long | 8 byte | |
실수형 | float | 4 byte |
double | 8 byte | |
문자형 | char | 2 byte (유니코드) |
논리형 | boolean | 1 byte |
기본 타입은 스택(Stack) 메모리에 저장되기에 메모리 할당과 해제가 빠르다는 장점이 있음
또한 값 자체가 저장되기 때문에 참조를 통해 접근하는 것보다 더 빠름
참조 타입(Reference type)
- 참조 타입은 객체(object)나 배열(array)과 같은 데이터 타입을 저장하는 타입
- Null이 존재
- 참조 타입은 스택 메모리에는 참조 값(reference value)이 저장되고, 실제 데이터는 힙(Heap) 메모리에 저장
타입 | 설명 | 할당되는 메모리 크기 |
클래스(Class) | 객체를 생성하기 위한 틀을 정의하는 데이터 타입. 클래스는 멤버 변수와 메소드로 구성되어 있으며, 객체를 생성하기 위해서는 클래스를 먼저 정의하고, 이를 통해 객체를 생성 |
4 byte (객체의 주소값) |
인터페이스(Interface) | 클래스와 비슷한 역할을 수행하지만, 추상적인 개념을 표현하기 위해 사용. 추상 메소드와 상수만을 멤버로 가질 수 있으며, 클래스와 달리 다중 상속이 가능 |
|
배열(Array) | 동일한 타입의 데이터를 순차적으로 저장하는 데이터 구조. 배열은 크기가 고정되어 있으며, 인덱스를 사용해서 배열의 요소에 접근할 수 있음 |
|
열거형(Enum) | 상수를 선언할 때 사용하는 데이터 타입. 열거형은 일반적으로 상수를 정의할 때 사용하며, 각 상수는 이름과 값으로 구성됨 |
반응형