IT/JAVA
[무작정 기록] 데이터 타입
Alo_alex
2025. 3. 7. 20:07
자료형(Data Type)
- 기본자료형(Primitive Type)
: 변수자신이 값을 갖고있는 자료형, 값 자체를 저장하는 것
저장하기 위한 자료형
데이터 타입 | 크기 | 저장하는 값 | 기본값 | 값의 범위 | 기타 |
byte | 8bit/ 1byte/ 제일작다 |
정수 (정수는 데이터 타입이 가진 크기마다 가진 값이 다르다) |
0 | -128 ~ 127 | |
short | 16bit/ 2 byte | 0 | -32,768 ~ 32,767 | ||
int (*) | 32bit/ 4 byte | 0 | -2,147,483,648 ~ 2,147,483,647 |
||
long | 64bit/ 8 byte | 0L | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 |
||
float | 32bit/ 4 byte | 실수 (소수점도 취급) |
0.0F | 소수점 이하 7자리 | |
double (*) | 64bit/ 8 byte | 0.0D | 소수점 이하 15자리 | double 은 int를 포함 할 수 있는 자료형으로 class로 호출할때, 매개 변수가 double 이고 받는 값이 int 여도 오류없이 처리하고, 결과는 double로 표출된다. (하지만 매개변수가 int일 경우는 double값을 받으면 오류가 난다.) |
|
char | 16bit/ 2 byte | 문자를 저장 | \u0000 | 0 ~ 65,535 (유니코드 문자) | |
boolean | 8bit / 1 byte | 논리값을 저장 | false | ture / false |
(*) 표시는 가장 많이 이용되는 데이터 타입
- 참조 자료형(Reference Type)
: 변수자신이 값을 갖고 있는 것이 아니라, 값이 있는 메모리를 참조(가리키는)하는 자료형
즉 객체의 주소값을 저장하고 있으며 그 주소값을 토대로 메모리를 가리킨다.
참조하기 위한 자료형
데이터 타입 | 설명 | 기타 | |
문자열 | String | - 문자열 데이터를 저장하는 클래스 - 기본 타입이 아니라 객체(클래스) 이므로 참조 타입 |
- 문자열은 특별한 점으로 new없이 리터럴로 생성되어 사용도 가능하다. * 리터럴(Literal) : 값 자체를 나타내는 표기법 * 자바에서 리터럴은 변수에 할당된 값 그자체를 나타낸다. |
배열 | Array | - 같은 데이터 타입의 여러 개의 값을 저장하는 자료 구조 ( 자료형이 같은 기억장소의 모임을 말함 ) - 변수가 많이 필요할 때 일일이 변수이름을 정해주지 않고, 대표하는 이름과 크기를 정해서 사용 할 수 있다. |
- 배열의 요소를 하나식 끄집어 내어올때 반복문을 이용한다. (즉 배열은 일괄처리가 가능하다) |
클래스 | Class | - 사용자가 정의한 데이터 타입으로, 여러개의 속성과 메소드를 가질 수 있다. | 클래스는 여러개의 인터페이스를 구현 할 수 있다. |
인터페이스 | Interface | - 클래스와 비슷하지만, 구현해야 할 메소드의 목록만 정의한다. | ! 인터페이스는 - 추상자체 이기 때문에 메소드를 작성할때 바디가 구체화되면 안된다. - 상수와 추상메소드 만으로 구성해야 한다. (상수를 만들기 위해서는 초기값 설정이 필요하다) |
기본자료형(Primitive Type) 과 참조자료형(Reference Type)의 차이점
비교 항목 | 기본 데이터 타입 | 참조 데이터 타입 |
저장 방식 | 값 자체를 저장 | 객체의 주소(참조값) 저장 |
메모리 위치 | 스택(Stack) | 힙(Heap) |
크기 | 고정되어 있음(1~8 byte ) | 객체의 크기에 따라 다름 |
기본 값 | 0, false, 유니코드 | null |
+ 번외
! 자료형이 다른것 끼리 연산을 하면 그 결과는 그중에 큰 자료형이 된다.
예)
3 + 2.6 -> int + double = double
5 / 2 = 2 -> int
5 / 2.0 = 2.5 -> double
반응형