반응형
1. 기본형 (primitive type)
- 반드시 사용하기 전에 선언(Declared)되어야 함
- OS에 따라 자료형의 길이가 변하지 않음
- 비객체 타입. 따라서 null 값을 가질 수 없음
Type | Bits | Range of Values |
byte | 8bits | -2^7 ~ 2^7-1 (-128 ~ 127) |
short | 16bits | -2^15 ~ 2^15-1 (-32768 ~ 32767) |
int | 32bits | -2^31 ~ 2^31-1 (-2147483648 ~ 2147483647) |
long | 64bits | -2^63 ~ 2^63-1 (-9223372036854775808 ~ 9223372036854775807) |
float | 32bits | 0x0.000002P-126f ~ 0x1.fffffeP+127f |
double | 64bits | 0x0.0000000000001P-1022 ~ 0x1.fffffffffffffP+1023 |
char | 16bits | \u0000 ~ \uffff (0 ~ 2^15-1) * 자바에서 unsgined로 동작하는 자료형 |
boolean | 1bit | true, false |
2. 참조형 (reference type)
- java.lang.Object를 상속 받는 경우 참조형이 됨
- 선언한 자료형이 기본형이 아닌 경우 참조형이라고 보면 됨
- class type, interface type, array type이 있음
1) Class Type
- 객체를 참조하는 형태
String Class
String Class는 참조형에 속하지만 기본적인 사용은 기본형처럼 사용
불변하는(Immutable) 객체로, 값을 변경해주는 메소드들이 존재하지만 데이터를 바꾼다고 해도 새로운 String 클래스 객체를 만들어내는 것
일반적으로 기본형 비교는 == 연산자를 사용하지만, String 객체 간의 비교는 equals 메소드를 사용해야 함
Data type (primitive type) vs. wrapper class
Wrapper Class란?
- Primitive type을 객체로 다루기 위해 사용하는 class
- Integer는 int의 wrapper class
비교
Data type (primitive type) | Wrapper Class |
산술 연산 가능 | Unboxing하지 않을 시 산술 연산 불가능함 |
null로 초기화 불가 | null값 처리 가능 |
참고
- Boxing : primitive type → wrapper class 변환 ( int to Integer )
- Unboxing : wrapper class → primitive type 변환 ( Integer to int )
반응형
'IT > Programming Language' 카테고리의 다른 글
[C++/STL] STL 사용법 : Container - Array (0) | 2025.02.15 |
---|---|
[Java] 어노테이션 (Annotation) (0) | 2025.02.09 |
[Java] 상속 (Inheritance) 과 인터페이스 (Interface) (0) | 2025.02.09 |
[Java] 추상클래스와 인터페이스 (0) | 2025.02.09 |
[Java] 동일성(identity)과 동등성(equality) (0) | 2025.02.09 |