1. primitive data type (8가지)
<정수형>
비객체 타입. null 값을 가질 수 없다.
|
type |
length |
range |
byte |
8bit |
-128 ~127 |
short |
16bit |
-32768~32767 |
int |
32bit |
-2147483648~21483647 |
long |
64bit |
-9223372036854775808~922337203685477580 |
<실수형>
소수점값을 나타내기 위함
|
type |
length |
range |
float |
32bit |
1.40239846e-45f ~3.40282347e+38f |
double |
64bit |
4.94065645841246544e-324~1.79769313486231570e+308 |
<문자형>
혼합되지 않은 하나의 문자만 사용 (문자열과 혼동 주의)
|
type |
example |
char |
ex) char a ='문';
|
2. reference data type
- 객체를 참조하는 형태
type
- String class : 참조형에 속하지만 기본형처럼 사용. 불변객체.
기본형 비교는 == / String 객체간 비교는 .equals() 메소드 사용
- Wrapper class : 기본형을 클래스로 감싼 형태
기본형에 null을 넣고싶다면 래퍼클래스를 활용.
ex
기본형 대응 래퍼 클래스
byte Byte
short Short
int Int
long Long
float Float
double Double
char Char
boolean Boolean
* 참고 : void 의 래퍼 클래스 Void 도 존재
* 인터페이스
interface MyInterface {
void add(T value);
}
인터페이스를 만드는 것은 새로운 참조 자료형을 만드는 것과 같다.
자료형이기 때문에 자신을 구현한 객체의 주소를 가질 수 있다.
(인터페이스에 정의된 메소드만 사용 가능)
* 배열형
public class ArrayType {
public static void main(String[] args) {
int [] i = new int[2];
Long [] l = new Long[2];
Object[][] o = null;
}
}
기본형으로도 만들 수 있고 참조형으로도 만들 수 있다.
자료형에 대해 []를 선언함으로 배열을 지정.
(배열형 변수 또안 배열의 주소를 가지고 있기 때문에 클래스형의 특징과 일치)
같은 객체의 주소를 바라보게 만들면 동일한 배열을 가리킨다.