기본형 (Primitive)와 참조형 (Reference)로 구분된다.
| 자료형 | 크기 (byte) | 기본값 | 설명 | 예시 |
|---|---|---|---|---|
byte | 1 | 0 | 정수형, -128~127 | byte b = 100; |
short | 2 | 0 | 정수형, -32,768~32,767 | short s = 30000; |
int | 4 | 0 | 기본 정수형 | int i = 100000; |
long | 8 | 0 | 큰 범위의 정수형, 접미사 L 필요 | long l = 10000000000L; |
float | 4 | 0.0f | 실수형, 접미사 f 필요 | float f = 3.14f |
double | 8 | 0.0 | 기본 실수형 | double d = 3.141592; |
char | 2 | '\u0000' | 문자형, 유니코드 사용 | char c = 'A'; |
boolean | - | false | true 또는 fasle | boolean flag = true; |
| 자료형 | 크기 (byte) | 기본값 | 설명 | 예시 |
|---|---|---|---|---|
String | - | null | 문자열 객체 (클래스) | String msg = "Hello"; |
배열 ([]) | - | null | 같은 타입의 집합 | int[] arr = {1, 2, 3}; |
| 사용자 정의 클래스 | - | null | 객체 생성 필요 | Student s = new Student(); |
✏️ 기본형 vs 래퍼 (Wrapper) 클래스
기본형
- 가장 기본적인 데이터 타입으로, 값 자체를 저장한다.
byte,short,int,long,float,double,char,boolean- 참조가 아닌 값 자체를 저장하며, 메모리 효율적이고 연산 속도가 빠르다.
- 객체 메서드를 사용할 수 없다.
래퍼 클래스
- 기본형을 객체 형태로 감싸는 클래스
Byte,Short,Integer,Long,Float,Double,Character,Boolean- 객체이므로 메서드를 사용할 수 있다.
- 컬렉션에 저장할 수 있으며, null을 저장할 수 있다.
- 기본형을 래퍼 클래스로 변환하는 boxing과 그 반대인 unboxing에 대해, auto-boxing과 auto-unboxing을 지원한다.
✏️ 키워드 (Keyword)?
Java가 미리 정의해 놓은 예약어로, 변수 이름, 메서드 이름 등으로 사용할 수 없다.
- 자료형/리터럴 관련:
byte,short,int,long,float,double,char,boolean,void- 제어문/흐름 관련:
if,else,switch,case,default,while,do,for,break,continue,return- 클래스/객체 관련:
class,interface,enum,extends,implements,instanceof,new,super,this- 접근/제어:
public,private,protected,static,final,abstract,synchronized,transient,volatile- 예외 처리:
try,catch,finally,throw,throws- 기타:
package,import,assert,goto,const
goto/const는 실제로 사용되지는 않는다.