자바에서 Wrapper 클래스는 기본 데이터 타입(primitive data types)을 객체로 래핑하여 제공합니다. 이러한 Wrapper 클래스는 각각의 기본 데이터 타입에 대한 메서드와 필드를 가지고 있어서 객체로써의 동작을 할 수 있도록 합니다. Wrapper 클래스에는 `Integer`, `Double`, `Boolean`, `Character`, `Byte`, `Short`, `Long`, `Float`가 있습니다.
Auto boxing은 자바 5부터 도입된 기능으로, 기본 데이터 타입과 그에 해당하는 Wrapper 클래스 사이의 자동 변환을 의미합니다. Auto boxing은 기본 데이터 타입을 해당하는 Wrapper 클래스 객체로 자동으로 변환하는 것을 말합니다.
예를 들어, 다음과 같은 코드를 살펴보겠습니다.
Integer num = 10; // Auto boxing
int primitiveNum = num; // Auto unboxing
여기서 `Integer`는 `int`의 Wrapper 클래스이고, `num`은 `Integer` 객체입니다. 첫 번째 줄에서 `10`은 `Integer` 객체로 자동 변환됩니다. 이것이 auto boxing입니다. 두 번째 줄에서는 `Integer` 객체인 `num`이 다시 기본 데이터 타입인 `int`로 자동 변환됩니다. 이것이 auto unboxing입니다.
이렇게 auto boxing을 사용하면 기본 데이터 타입과 Wrapper 클래스 간의 변환을 명시적으로 작성하지 않아도 됩니다. 이는 코드를 간결하게 하고, 가독성을 높일 수 있습니다. 하지만 auto boxing이 빈번하게 일어날 경우 성능에 약간의 영향을 줄 수 있으므로 주의해야 합니다.
'JAVA > 기초' 카테고리의 다른 글
[JAVA] BigDecimal 클래스 (0) | 2024.02.20 |
---|---|
[JAVA] Date 클래스 (0) | 2024.02.19 |
자바 상수 (0) | 2022.05.30 |
자바의 변수 (0) | 2022.05.30 |
자바 자료형 - 기본 타입 (0) | 2022.05.30 |