산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> java

Java 오토박싱과 언박싱 마스터하기: 실전 예제와 모범 사례

Java 오토박싱과 언박싱

Java가 프리미티브 타입과 래퍼 객체 간을 자동으로 변환하는 방식을 탐구하고, 그 과정을 보여주는 실전 예제를 확인하세요.

Java 오토박싱 – 프리미티브에서 래퍼 객체로

프리미티브 값을 래퍼 클래스 변수에 할당하면 Java 컴파일러는 오토박싱을 수행하여 해당 래퍼 객체를 생성합니다. 예를 들어:

int a = 56; // 오토박싱
Integer aObj = a;

오토박싱은 객체만 허용하는 제네릭 컬렉션 작업 시 특히 편리합니다. 코드를 간결하고 타입 안전하게 유지합니다.


예제 1: ArrayList와 오토박싱

import java.util.ArrayList;

class Main {
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();
        // 오토박싱: 프리미티브 5와 6이 Integer 객체가 됨
        list.add(5);
        list.add(6);
        System.out.println("ArrayList: " + list);
    }
}

실행 결과

ArrayList: [5, 6]

이 스니펫에서 ArrayList는 Integer 객체를 보유합니다. 컴파일러는 프리미티브 리터럴 5와 6을 자동으로 박싱합니다.


Java 언박싱 – 래퍼에서 프리미티브로

반대로 언박싱은 래퍼 객체를 다시 프리미티브 형태로 변환합니다. 예를 들어:

// 오토박싱
Integer aObj = 56;
// 언박싱
int a = aObj;

언박싱은 컬렉션과 원활하게 작동하여 필요할 때 값을 프리미티브로 조회할 수 있게 합니다.


예제 2: ArrayList에서 언박싱

import java.util.ArrayList;

class Main {
    public static void main(String[] args) {
        ArrayList<Integer> list = new ArrayList<>();
        list.add(5);
        list.add(6);
        System.out.println("ArrayList: " + list);
        // 언박싱: 인덱스 0의 Integer가 int가 됨
        int a = list.get(0);
        System.out.println("Value at index 0: " + a);
    }
}

실행 결과

ArrayList: [5, 6]
Value at index 0: 5

여기서 list.get(0)은 Integer를 반환하고, 컴파일러는 a에 할당하기 위해 자동으로 int로 언박싱합니다.

오토박싱과 언박싱을 이해하면 컬렉션과 객체를 기대하는 API와 상호작용할 때 더 깔끔하고 효율적인 Java 코드를 작성하는 데 도움이 됩니다.

java

  1. Java 변수와 리터럴: 종합 가이드
  2. Java 입출력 마스터: 출력, 입력, 포맷팅 완벽 가이드
  3. Java 표현식, 문장, 블록 이해하기
  4. Java 클래스와 객체: 실전 가이드
  5. Java 추상 클래스와 메서드 완벽 가이드
  6. Java 중첩/내부 클래스 마스터: 종류, 예제, 모범 사례
  7. Java throw vs throws: 예외 처리 실전 예제로 마스터하기
  8. Java 문자열 치환 마스터: replace(), replaceAll(), replaceFirst() 완벽 해설
  9. Java String toLowerCase() & toUpperCase(): 로케일 인식 텍스트 대소문자 변환
  10. Java 마스터하기: 객체, 클래스, 핵심 OOP 개념 이해