Java의 데이터 타입은 프로그램에서 다양한 데이터를 저장하고 처리하는 데 필수적인 요소입니다. 데이터 타입을 올바르게 사용하면 프로그램의 안정성과 성능을 높일 수 있습니다. Java의 데이터 타입은 크게 기본 데이터 타입(Primitive Data Types)과 참조 데이터 타입(Reference Data Types)으로 나뉩니다. 이번 글에서는 Java의 주요 데이터 타입과 각 타입의 예제를 통해 데이터 타입의 활용법을 알아보겠습니다.
기본 데이터 타입 (Primitive Data Types)
Java의 기본 데이터 타입은 총 8가지로, 메모리에 고정된 크기로 저장되며 효율적인 성능을 제공합니다. 기본 데이터 타입에는 정수형, 실수형, 문자형, 논리형이 있습니다.
1. 정수형 데이터 타입
Java의 정수형 데이터 타입은 byte, short, int, long이 있으며, 각 타입은 저장 가능한 값의 범위와 메모리 크기가 다릅니다.
정수형 예제 코드
public class IntegerExample {
public static void main(String[] args) {
byte smallNumber = 100;
short mediumNumber = 32000;
int standardNumber = 100000;
long largeNumber = 10000000000L; // L 접미사 필요
System.out.println("byte: " + smallNumber);
System.out.println("short: " + mediumNumber);
System.out.println("int: " + standardNumber);
System.out.println("long: " + largeNumber);
}
}
출력 결과:
byte: 100
short: 32000
int: 100000
long: 10000000000
위 코드에서는 각기 다른 크기의 정수형 변수를 선언하고 출력하고 있습니다. long 타입의 경우, 큰 정수를 표현하기 위해 접미사 L을 붙여야 합니다.
2. 실수형 데이터 타입
Java의 실수형 데이터 타입은 float과 double이 있으며, 소수점 이하의 값을 포함한 숫자를 저장할 수 있습니다.
실수형 예제 코드
public class FloatDoubleExample {
public static void main(String[] args) {
float pi = 3.14F; // F 접미사 필요
double e = 2.718281828459045;
System.out.println("float: " + pi);
System.out.println("double: " + e);
}
}
출력 결과:
float: 3.14
double: 2.718281828459045
위 코드에서는 float과 double을 사용하여 실수 값을 저장하고 있습니다. float 타입은 F 접미사를 필요로 하며, double은 더 높은 정밀도를 가집니다.
3. 문자형 데이터 타입
char 데이터 타입은 단일 문자를 저장하며, 유니코드 문자 표현이 가능합니다.
문자형 예제 코드
public class CharExample {
public static void main(String[] args) {
char letter = 'A';
char digit = '1';
char symbol = '#';
System.out.println("문자: " + letter);
System.out.println("숫자 문자: " + digit);
System.out.println("기호: " + symbol);
}
}
출력 결과:
문자: A
숫자 문자: 1
기호: #
위 코드에서는 문자, 숫자 문자, 기호를 char 타입으로 선언하고 출력합니다. char는 작은 따옴표(' ')로 감싸서 표현합니다.
4. 논리형 데이터 타입
boolean 데이터 타입은 true 또는 false의 두 가지 값만을 저장하며, 조건문이나 반복문에서 사용됩니다.
논리형 예제 코드
public class BooleanExample {
public static void main(String[] args) {
boolean isJavaFun = true;
boolean isFishTasty = false;
System.out.println("Java는 재미있다: " + isJavaFun);
System.out.println("물고기는 맛있다: " + isFishTasty);
}
}
출력 결과:
Java는 재미있다: true
물고기는 맛있다: false
위 코드에서는 boolean 변수를 선언하고, true와 false 값을 할당하여 출력합니다.
참조 데이터 타입 (Reference Data Types)
Java에서 참조 데이터 타입은 객체를 참조하는 데 사용됩니다. 대표적인 참조 데이터 타입으로는 문자열을 다루는 String이 있습니다. String은 ""로 감싸서 표현합니다.
String 예제 코드
public class StringExample {
public static void main(String[] args) {
String greeting = "Hello, World!";
String name = "Alice";
System.out.println("인사: " + greeting);
System.out.println("이름: " + name);
}
}
출력 결과:
인사: Hello, World!
이름: Alice
위 코드에서는 String 타입 변수를 선언하고, 문자열을 저장한 후 출력합니다. String은 Java에서 가장 자주 사용되는 참조 타입 중 하나입니다.
데이터 타입 변환 예제
Java에서는 서로 다른 데이터 타입 간에 변환이 필요할 때가 있습니다. 타입 변환은 묵시적 변환과 명시적 변환으로 나뉩니다.
1. 묵시적 타입 변환
작은 데이터 타입을 큰 데이터 타입으로 변환할 때 자동으로 변환이 이루어집니다.
public class ImplicitConversionExample {
public static void main(String[] args) {
int num = 100;
double doubleNum = num; // 자동 변환 (int → double)
System.out.println("자동 변환된 값: " + doubleNum);
}
}
출력 결과:
자동 변환된 값: 100.0
위 코드에서는 int 타입을 double 타입으로 자동 변환하여 출력하고 있습니다.
2. 명시적 타입 변환
큰 데이터 타입을 작은 데이터 타입으로 변환할 때는 데이터 손실을 방지하기 위해 명시적으로 변환해야 합니다.
public class ExplicitConversionExample {
public static void main(String[] args) {
double doubleValue = 9.78;
int intValue = (int) doubleValue; // 강제 형변환 (double → int)
System.out.println("강제 변환된 값: " + intValue);
}
}
출력 결과:
강제 변환된 값: 9
위 코드에서는 double 타입을 int 타입으로 강제 형변환하며, 소수점 이하 부분이 버려집니다.
결론
Java의 데이터 타입은 프로그램에서 데이터를 저장하고 다루는 데 매우 중요한 역할을 합니다. 이번 글에서는 기본 데이터 타입과 참조 데이터 타입의 주요 예제를 통해 Java 데이터 타입의 활용법을 살펴보았습니다. 올바른 데이터 타입을 선택하고 사용하면, 보다 안정적이고 효율적인 코드를 작성할 수 있습니다. 다양한 데이터 타입 예제를 통해 Java에서 데이터 타입을 더 깊이 이해하고 활용해 보세요!
댓글 쓰기