diff --git "a/3\354\243\274\354\260\250/\354\236\220\353\260\224 \352\270\260\354\264\210.md" "b/3\354\243\274\354\260\250/\354\236\220\353\260\224 \352\270\260\354\264\210.md" new file mode 100644 index 00000000..e8ad5c74 --- /dev/null +++ "b/3\354\243\274\354\260\250/\354\236\220\353\260\224 \352\270\260\354\264\210.md" @@ -0,0 +1,290 @@ +# [Java] Java 기초(2) +## 1. 기본형 타입(Primitive type)과 참조형 타입(Reference type) +### 1-1. 기본형 타입(Primitive type) +- 총 8가지의 기본형 타입을 미리 정의하여 제공한다. +- 기본값이 있기 때문에 **Null**이 존재하지 않는다. + (만약 기본형 타입에 Null을 넣고 싶다면 **래퍼 클래스**를 활용한다. +- **실제 값**을 저장하는 공간으로 **스택(Stack)** 메모리에 저장된다. +- 만약 컴파일 시점에 담을 수 있는 크기를 벗어나 에러를 발생시키는 컴파일 에러가 발생한다. 주로 문법상의 에러가 많다. + ex) 세미콜론(;)을 안붙였다는 이유로 빨간 줄이 쳐지는 경우 + +
| + | 타입 | +할당되는 메모리 크기 | +기본값 | +데이터의 표현 범위 | +
|---|---|---|---|---|
| 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 | +
| 타입 | +기본값 | +할당되는 메모리 크기 | +
|---|---|---|
| 배열(Array) | +Null | +4 byte(객체의 주소값) | +
| 열거(Enumeration) | +Null | +4 byte(객체의 주소값) | +
| 클래스(Class) | +Null | +4 byte(객체의 주소값) | +
| 인터페이스(Interface) | +Null | +4 byte(객체의 주소값) | +