자바는 정적 타입 언어로 모든 변수와 표현식에 데이터 타입을 명시해야 한다. 이것은 컴파일러가 코드를 검사하여 타입 관련 오류를 미리 발견하고 예방하는 데 도움이 된다. 자바의 데이터 타입은 크게 기본 데이터 타입(Primitive Data Types)과 참조 데이터 타입(Reference Data Types)으로 나눌 수 있다. 아래에서 이 두 가지 타입을 설명하고 각각에 대한 예시코드를 보며 참고해 보자.
1. 기본 데이터 타입(Primitive Data Types)
기본 데이터 타입은 단일 값만 저장하며 스택 메모리에 저장된다. 기본 데이터 타입에는 다음과 같은 종류가 있다.
• 정수 타입(Integer Types)
정수를 저장하는 데 사용되고 int, byte, short, long이 있다.
int myAge = 30;
byte numberOfStudents = 100;
• 부동 소수점 타입(Floating-Point Types)
실수를 저장하는 데 사용되고 float, double이 있다.
double pi = 3.14159265359;
float temperature = 98.6f;
• 문자 타입(Character Type)
단일 문자를 저장하는 데 사용되고 char가 있다.
char grade = 'A';
• 불리언 타입(Boolean Type)
참(True) 또는 거짓(False) 값을 저장하는 데 사용되고 boolean이 있다.
boolean isJavaFun = true;
2. 참조 데이터 타입(Reference Data Types)
참조 데이터 타입은 객체 또는 클래스에 대한 참조를 저장하며 힙 메모리에 저장된다. 여기에는 다음과 같은 종류가 있다.
• 클래스 타입(Class Type)
사용자가 정의한 클래스를 포함하여 모든 클래스 타입은 참조 데이터 타입이다.
class Person {
String name;
int age;
}
Person person1 = new Person();
person1.name = "Alice";
person1.age = 25;
• 배열 타입(Array Types)
배열은 동일한 데이터 타입의 여러 값을 저장하는 데 사용된다.
int[] numbers = {1, 2, 3, 4, 5};
String[] names = {"Alice", "Bob", "Charlie"};
• 인터페이스 타입(Interface Types)과 기타 참조 타입
인터페이스, 열거형(enum), 그리고 기타 사용자 정의 참조 타입이 있다.
interface Shape {
void draw();
}
class Circle implements Shape {
@Override
public void draw() {
System.out.println("Drawing a circle");
}
}
자바의 데이터 타입은 변수를 선언할 때 그 변수가 어떤 종류의 데이터를 저장할 수 있는지를 정의하는 중요한 역할을 한다. 데이터 타입을 정확하게 이해하고 사용하면 코드의 안정성과 가독성을 높일 수 있다.