Java 자바 변수 데이터 타입 기본형 & 참조형 정리

변수란?

자바에서 변수란 프로그램에서 데이터를 저장하고 처리하는데 사용되는 식별자입니다. 간단히 말하면, 변수는 값을 담는 그릇이라고 할 수 있습니다. 자바에서 변수는 데이터의 유형에 따라 기본형 타입(Primitive Data Types)과 참조형 타입(Reference Data Types)으로 나뉩니다.

변수의 데이터 타입

기본형 타입 (Primitive Data Types)

기본형 타입은 간단한 데이터를 저장하는 데 사용되며, 이러한 자료형은 메모리에서 고정된 크기를 차지합니다. 자바에서는 다양한 기본형 타입이 제공되며, 이들은 크게 정수, 실수, 문자, 논리 등의 유형으로 나뉩니다.

  1. 정수형 (Integer Types):
    • byte: 8비트 부호 있는 정수를 표현합니다. -128부터 127까지의 값을 가집니다.
    • short: 16비트 부호 있는 정수를 표현합니다. 대략 -32,768부터 32,767까지의 값을 가집니다.
    • int: 32비트 부호 있는 정수를 표현합니다. 대략 -2,147,483,648부터 2,147,483,647까지의 값을 가집니다.
    • long: 64비트 부호 있는 정수를 표현합니다. 대략 -9,223,372,036,854,775,808부터 9,223,372,036,854,775,807까지의 값을 가집니다.
  2. 실수형 (Floating-Point Types):
    • float: 32비트 부동 소수점을 표현합니다. 대략 -3.4E38에서 3.4E38까지의 범위를 가집니다.
    • double: 64비트 부동 소수점을 표현합니다. 대략 -1.7E308에서 1.7E308까지의 범위를 가집니다.
  3. 문자형 (Character Type):
    • char: 16비트 유니코드 문자를 표현합니다. 유니코드 기준으로 모든 문자를 표현할 수 있습니다.
  4. 논리형 (Boolean Type):
    • boolean: 논리값인 true 또는 false를 표현합니다. 주로 조건문과 논리 연산에 사용됩니다.

참조형 타입 (Reference Data Types)

참조형 타입은 객체의 주소를 저장하거나 객체에 대한 참조를 담는 데 사용됩니다. 이들은 기본형 타입과 달리 실제 데이터가 아닌 참조만을 저장하며, 객체 지향 프로그래밍에서 중요한 역할을 합니다.

  1. 클래스 (Class):
    • 사용자가 직접 정의한 데이터 타입. 객체를 생성하기 위한 설계도 역할을 합니다.
  2. 인터페이스 (Interface):
    • 메소드의 집합을 정의한 추상 데이터 타입. 클래스가 여러 인터페이스를 구현할 수 있습니다.
  3. 배열 (Array):
    • 동일한 자료형의 데이터를 순서대로 저장하는 자료구조.
  4. 열거형 (Enum):
    • 서로 연관된 상수들의 집합. 주로 제한된 값 중에서 선택하는 경우에 사용됩니다.
  5. 기타 참조형 타입 (Other Reference Types):
    • 자바에서 제공하는 여러 클래스와 인터페이스들도 참조형 타입에 속합니다.
    • 예) 문자열 클래스 String

기본형 타입 예제

정수형 (Integer Types)

byte (바이트)

  • 8비트 부호 있는 정수를 나타냅니다.
  • 범위: -128부터 127까지의 값을 가집니다.
  • 주로 작은 범위의 정수를 표현할 때 사용됩니다.
Java
byte myByte = 100;
Java

short (숏)

  • 16비트 부호 있는 정수를 나타냅니다.
  • 범위: -32,768부터 32,767까지의 값을 가집니다.
  • byte보다 큰 범위를 표현할 수 있습니다.
Java
short myShort = 1000;
Java

int (인트)

  • 32비트 부호 있는 정수를 나타냅니다.
  • 범위: -2,147,483,648부터 2,147,483,647까지의 값을 가집니다.
  • 대부분의 정수 값은 int로 처리됩니다.
Java
int myInt = 1000000;
Java

long (롱)

  • 64비트 부호 있는 정수를 나타냅니다.
  • 범위: -9,223,372,036,854,775,808부터 9,223,372,036,854,775,807까지의 값을 가집니다.
  • 큰 범위의 정수를 저장할 때 사용됩니다.
Java
long myLong = 1000000000000L; // 끝에 'L'을 붙여야 합니다.
Java

실수형 (Floating-Point Types)

float (플로트)

  • 32비트 부동 소수점을 나타냅니다.
  • 대략 -3.4E38에서 3.4E38까지의 범위를 가집니다.
  • 유효 숫자(가수)는 약 7자리입니다.
  • 예를 들어, float myFloat = 3.14f;와 같이 사용합니다. (끝에 f를 붙여야 합니다.)
Java
float myFloat = 3.14f;
Java

double (더블)

  • 64비트 부동 소수점을 나타냅니다.
  • 대략 -1.7E308에서 1.7E308까지의 범위를 가집니다.
  • 유효 숫자(가수)는 약 15자리입니다.
  • 자바에서 기본적으로 소수점을 사용하는 실수 값은 double 형태로 취급됩니다.
Java
double myDouble = 3.14;
Java

문자형 (Character Type)

char (캐릭터)

  • 16비트 유니코드 문자를 나타냅니다.
  • 범위: ‘\u0000’ (0)부터 ‘\uffff’ (65,535)까지의 유니코드 문자를 포함합니다.
  • 예를 들어, char myChar = ‘A’;와 같이 사용합니다.
Java
char myChar = 'A';
Java

논리형 (Boolean Type)

boolean (불리언)

  • boolean은 논리형 자료형으로, 두 가지 값을 가집니다: true 또는 false.
  • 조건문, 반복문, 논리 연산 등에서 조건을 표현하거나 제어할 때 주로 사용됩니다.
  • 예를 들어, boolean isJavaFun = true;와 같이 사용합니다.
Java
boolean isJavaFun = true;
Java

참조형 타입 예제

클래스 (Class)

클래스는 객체를 생성하기 위한 틀 또는 설계도로, 참조형 타입 중 가장 일반적인 형태입니다. 객체는 클래스의 인스턴스(Instance)이며, 이를 사용하기 위해서는 해당 클래스의 참조가 필요합니다.

Java
// 예제: 학생 정보를 담는 Student 클래스
class Student {
    String name;
    int age;

    // 생성자
    public Student(String name, int age) {
        this.name = name;
        this.age = age;
    }
}

// Student 클래스를 이용한 객체 생성과 사용
Student myStudent = new Student("John", 20);
System.out.println("이름: " + myStudent.name + ", 나이: " + myStudent.age);
Java

인터페이스 (Interface)

인터페이스는 메소드의 집합을 정의한 추상 자료형으로, 클래스가 여러 인터페이스를 구현할 수 있습니다.

Java
// 예제: 인터페이스 정의
interface Shape {
    void draw();
}

// 인터페이스를 구현한 클래스
class Circle implements Shape {
    @Override
    public void draw() {
        System.out.println("원을 그립니다.");
    }
}

// 객체 생성 및 사용
Shape myShape = new Circle();
myShape.draw();
Java

배열 (Array)

배열은 동일한 자료형의 여러 값을 하나의 변수에 저장하기 위한 자료구조로, 참조형 타입에 속합니다.

Java
// 예제: 정수형 배열
int[] numbers = {1, 2, 3, 4, 5};

// 배열의 요소에 접근
System.out.println("첫 번째 숫자: " + numbers[0]);
Java

열거형 (Enum)

열거형은 서로 연관된 상수들의 집합으로, 참조형 타입에 속합니다.

Java
// 예제: 계절 열거형
enum Season {
    SPRING, SUMMER, FALL, WINTER
}

// 열거형 상수 사용
Season currentSeason = Season.SUMMER;
System.out.println("현재 계절: " + currentSeason);
Java

기타 참조형 타입

자바에서는 다양한 내장 클래스와 라이브러리에서 제공하는 여러 참조형 타입이 있습니다.

Java
// 예제: 문자열 클래스
String myString = "Hello, Java!";
System.out.println(myString);
Java

결론

이러한 자바의 변수와 타입은 프로그래밍에서 핵심적인 역할을 수행합니다. 기본형 타입은 간단한 데이터를 효율적으로 다루기 위한 기본 도구로 사용되며, 참조형 타입은 복잡한 데이터 구조를 표현하고 객체 지향 프로그래밍의 핵심을 이룹니다.

Leave a Comment