JAVA

자바 데이터 타입

funfunweb 2025. 3. 26. 13:52

자바에서는 데이터를 저장하기 위한 다양한 데이터 타입이 있습니다. 자바의 데이터 타입은 크게 **기본형(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