자바에서는 데이터를 저장하기 위한 다양한 데이터 타입이 있습니다. 자바의 데이터 타입은 크게 **기본형(Primitive Type)**과 **참조형(Reference Type)**으로 나눌 수 있습니다.
1. 기본형 데이터 타입 (Primitive Types)
기본형 데이터 타입은 자바에서 제공하는 가장 기본적인 데이터 타입으로, 변수에 직접 값을 저장합니다. 자바는 8개의 기본형 데이터를 제공합니다:
데이터 타입 크기 기본값 설명
byte | 1바이트 | 0 | -128 ~ 127 범위의 정수 |
short | 2바이트 | 0 | -32,768 ~ 32,767 범위의 정수 |
int | 4바이트 | 0 | -2^31 ~ 2^31-1 범위의 정수 |
long | 8바이트 | 0L | -2^63 ~ 2^63-1 범위의 정수 |
float | 4바이트 | 0.0f | 부동소수점 숫자, 단정도 |
double | 8바이트 | 0.0d | 부동소수점 숫자, 배정도 |
char | 2바이트 | '\u0000' | 유니코드 문자 (0 ~ 65,535 범위) |
boolean | 1바이트 | false | true 또는 false |
기본형 데이터 타입 설명:
- 정수형(byte, short, int, long): 정수 값을 저장하는 데 사용됩니다. int는 기본 정수형이며, long은 더 큰 범위의 정수를 저장할 때 사용됩니다.
- 실수형(float, double): 실수 값을 저장하는 데 사용됩니다. double이 더 정밀하고 범위가 넓습니다.
- 문자형(char): 하나의 문자를 저장할 수 있습니다. 유니코드 값으로 표현됩니다.
- 논리형(boolean): 논리 값을 저장하는 데 사용되며, true 또는 false 값을 가질 수 있습니다.
2. 참조형 데이터 타입 (Reference Types)
참조형 데이터 타입은 변수에 실제 값을 저장하는 대신 **주소(참조)**를 저장합니다. 자바에서 모든 객체(배열, 클래스 등)는 참조형 데이터 타입입니다.
데이터 타입 설명
String | 문자열을 저장하는 클래스입니다. 기본형이 아니지만 특별히 자주 사용됩니다. |
배열 | 동일한 타입의 데이터를 저장하는 객체입니다. 예: int[], String[] 등. |
클래스 | 사용자 정의 클래스 타입입니다. |
인터페이스 | 인터페이스 타입은 인터페이스를 구현한 클래스의 참조를 저장합니다. |
3. 기본형 vs 참조형
- 기본형 데이터 타입은 변수에 값을 직접 저장하며, 값이 변할 때마다 값 자체가 변경됩니다.
- 참조형 데이터 타입은 객체의 주소를 저장하며, 객체의 값이 변경될 때는 해당 주소를 참조하는 객체가 변경됩니다.
예시:
// 기본형 데이터 타입 예시
int a = 10;
double b = 3.14;
char c = 'A';
// 참조형 데이터 타입 예시
String str = "Hello, Java!";
int[] arr = {1, 2, 3, 4};
4. 자동형변환 (Implicit Casting)과 강제형변환 (Explicit Casting)
- 자동형변환 (자동 캐스팅): 작은 범위의 타입에서 큰 범위의 타입으로 변환할 때 자동으로 처리됩니다.
- 강제형변환 (명시적 캐스팅): 큰 범위의 타입을 작은 범위의 타입으로 변환할 때 사용합니다.
예시:
// 자동형변환 (int → double)
int num = 5;
double result = num; // int가 자동으로 double로 변환됩니다.
// 강제형변환 (double → int)
double pi = 3.14;
int intPi = (int) pi; // 강제로 double을 int로 변환, 결과는 3
결론
자바에서 데이터 타입은 프로그램의 성능과 효율성에 영향을 미칠 수 있으며, 적절한 타입을 사용하여 변수를 선언하는 것이 중요합니다. 기본형 타입은 값을 직접 저장하고, 참조형 타입은 객체나 배열의 주소를 저장하는 방식입니다.
'JAVA' 카테고리의 다른 글
nextInt() (0) | 2025.03.27 |
---|---|
연산자 (0) | 2025.03.27 |
자바 식별자 (0) | 2025.03.26 |
java 기본 프로그래밍 (0) | 2025.03.26 |
자바 이클립스 워크스페이스 바꾸는 방법 (0) | 2025.03.26 |