데이터 타입과 변수의 효율적 활용

자바의 데이터 타입 이해하기

자바는 정적 타입 언어로, 모든 변수는 사용하기 전에 데이터 타입을 선언해야 합니다. 자바의 데이터 타입은 크게 두 가지 그룹으로 나뉩니다.

기본형(primitive) 데이터 타입과 참조형(reference) 데이터 타입입니다.

 

기본형 데이터 타입

데이터 타입 크기 범위 용도
byte 8비트 -128 ~ 127 대용량 배열에서 메모리 효율적 저장
short 16비트 -32,768 ~ 32,767 메모리 절약이 중요한 대용량 배열
int 32비트 -2^31 ~ 2^31-1 정수 값의 기본 선택
long 64비트 -2^63 ~ 2^63-1 큰 정수 값에 사용
float 32비트 단일 정밀도 소수점 사용 시 ‘f’ 접미사 필요
double 64비트 이중 정밀도 소수점 소수점 계산의 기본 선택
boolean 1비트 true 또는 false 플래그와 조건에 사용
char 16비트 0 ~ 65,535 (유니코드) 문자 저장에 사용
1
2
3
4
5
6
7
8
9
byte b = 100;
short s = 10000;
int i = 100000;
long l = 100000L;  // L 접미사 사용
float f = 234.5f;  // f 접미사 사용
double d = 123.4;
boolean flag = true;
char c = ‘A’;
cs

 


 

참조형 데이터 타입

데이터 타입 설명 예시
클래스 사용자 정의 데이터 타입 String, ArrayList 등
인터페이스 메소드 명세 List, Map 등
배열 동일 타입의 데이터 모음 int[], String[] 등
1
2
3
String str = “Hello, World!”;  // 클래스 타입
int[] numbers = {12345};  // 배열 타입
cs

 


메모리 할당 이해하기

메모리 영역 저장 데이터 특징
스택(Stack) 기본형 변수, 참조형 변수 주소, 메소드 매개변수, 지역 변수 자동 관리, 빠른 접근
힙(Heap) 참조형 데이터 타입의 실제 객체 런타임 크기 결정, 가비지 컬렉션 대상
작업 메모리 동작 예시
기본형 변수 할당 스택에 직접 값 저장 int a = 3;
기본형 변수 복사 값 복사, 독립적 int b = a;
참조형 변수 할당 스택에 주소 저장, 힙에 객체 저장 int[] c = {1, 2, 3, 4};
참조형 변수 복사 주소 복사, 같은 객체 참조 int[] d = c;

변수의 효율적 활용

변수 명명 규칙과 모범 사례

규칙 설명 예시
명확성 변수의 목적을 명확히 표현 String appName = "SitePointGram";
불리언 변수 질문 형태로 명명 boolean appIsAlive = true;
수량 표현 수량을 나타내는 접두사 사용 int numUsers = 500;

커스텀 데이터 타입 활용

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
public class User {
    public static int numUsers = 0;
    private int id;
    private String username;
    private boolean isOnline;
    public User(String username) {
        id = numUsers++;
        this.username = username;
        this.isOnline = true;
        System.out.println(username + ” signed up!”);
    }
    public void logOn() {
        isOnline = true;
        printOnlineStatus();
    }
    public void logOff() {
        isOnline = false;
        printOnlineStatus();
    }
    private void printOnlineStatus() {
        System.out.println(username + ” is online: “ + isOnline);
    }
}
cs

 


데이터 타입 선택 가이드라인

상황 권장 데이터 타입 이유
정수 계산 int 기본 정수 타입, 최적화된 성능
소수점 계산 double 높은 정밀도, 메모리 제약 없을 때
조건 표현 boolean 코드 가독성 향상
유연한 데이터 구조 참조 타입 메소드와 속성 활용 가능
대용량 배열 byte 또는 short 메모리 사용량 최소화

실전 예제: 데이터 타입 최적화

용도 코드 예시 설명
메모리 최적화 byte[] largeArray = new byte[1000]; 1KB 메모리만 사용
정수 계산 int count = 0; for (int i = 0; i < 100; i++) { count += i; } int 타입 활용
소수점 계산 double result = 0.0; for (int i = 0; i < 10; i++) { result += 0.1; } 부동소수점 주의
효율적 문자열 연결 StringBuilder sb = new StringBuilder("Hello"); sb.append(", World!"); 단일 객체 재사용

자바의 데이터 타입과 변수를 효율적으로 활용하는 것은 성능 최적화와 메모리 관리에 중요한 역할을 합니다.

적절한 데이터 타입 선택과 변수 사용 방법을 익히면 더 효율적이고 유지보수가 용이한 코드를 작성할 수 있습니다.

 

 

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다