Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
Tags
- 프로젝트
- Lv.2
- 쿠키로그인
- docker
- 로그인
- openAI
- mysql
- springboot
- cors
- spring boot
- 부트스트랩
- OOM
- 프로그래머스
- 회고
- 해외봉사
- LV2
- 세션로그인
- 알고리즘
- Dockerfile
- 커밋 메시지
- 네팔
- 게시판
- llm
- Spring
- 코딩테스트
- fastapi
- 우테코
- crud
- Java
- 서버 꺼짐
Archives
- Today
- Total
s00jin 님의 블로그
자바 자료형 총정리 | 기본형, 참조형, 래퍼 클래스 본문
자바 자료형
- 기본 자료형 (Primitive Data Type)
- 참조 자료형 (Reference Data Type)
- 래퍼 클래스 (Wrapper Class)
기본 자료형 | Primitive Data Type
변수가 “실제 값”을 가짐
타입 크기 표현 범위
| 타입 | 크기 | 표현 범위 | |
| 진위형 | boolean | 1bit | true / false |
| 문자형 | char | 2바이트 | 0 ~ 65,535 (유니코드) |
| 정수형 | byte | 1바이트 | -128 ~ 127 |
| 정수형 | short | 2바이트 | -32,768 ~ 32,767 |
| 정수형 | int | 4바이트 | -2,147,483,648 ~ 2,147,483,647 |
| 정수형 | long | 8바이트 | 약 ±9.22×10¹⁸ |
| 실수형 | float | 4바이트 | 약 ±3.4×10⁻³⁸ ~ ±3.4×10³⁸ |
| 실수형 | double | 8바이트 | 약 ±1.7×10⁻³⁰⁸ ~ ±1.7×10³⁰⁸ |
참조 자료형 | Reference Data Type
데이터가 저장된 “주소 값”을 가짐
실제 값 X, 객체를 참조하는 데이터 타입
대표적인 참조 자료형
- String, ArrayList, HashMap, HashSet, LinkedList, Queue, Stack 등
- String, 클래스, 인터페이스, 배열, 열거 타입 등
래퍼 클래스 | Wrapper Class
기본 자료형을 ‘객체 (Object)’로 다루기 위해 객체화 시키는 클래스
→ 기본 타입의 객체화
| 기본 자료형 (Primitive Type) | 래퍼 클래스 (Wrapper Class) | |
| 진위형 | boolean | Boolean |
| 문자형 | char | Character |
| 정수형 | byte | Byte |
| 정수형 | short | Short |
| 정수형 | int | Integer |
| 정수형 | long | Long |
| 실수형 | float | Float |
| 실수형 | double | Double |
박싱과 언박싱

박싱 (Boxing)
기본 타입 → 래퍼 클래스
// Java 1.5 이상 버전부터 오토 박싱이 적용된다
int primitiveInt = 1;
Integer wrapperInteger = primitiveInt;
// 수동 박싱 시
int primitiveInt2 = 2;
Integer wrapperInteger2 = Integer.valueOf(primitiveInt2);
언박싱(Unboxing)
래퍼 클래스 → 기본 타입
// Java 1.5 이상 버전부터 오토 언박싱이 적용된다
Integer integer1 = 1;
int primitiveInt = integer1;
// 수동 언박싱 시
Integer integer2 = 2;
int primitiveInt2 = integer2.intValue();
| 기본 자료형 (Primitive Type) | 래퍼 클래스 (Wrapper Class) | 언박싱 (Unboxing) | |
| 진위형 | boolean | Boolean | a.booleanValue() |
| 문자형 | char | Character | a.charValue() |
| 정수형 | byte | Byte | a.byteValue() |
| 정수형 | short | Short | a.shortValue() |
| 정수형 | int | Integer | a.intValue() |
| 정수형 | long | Long | a.longValue() |
| 실수형 | float | Float | a.floatValue() |
| 실수형 | double | Double | a.doubleValue() |
추가 메모
제너릭 타입 내에서 사용 가능 여부
기본 자료형 X, 래퍼 클래스 O
null 초기화 가능 여부
기본 자료형 X, 래퍼 클래스 O
참조 자료형 변수는 null로 초기화 가능
래퍼 클래스는 불변(Immutable) 객체
참고 링크