반응형
자바의 자료형은 크게 기본 타입(primitive type)과 참조 타입(reference type)으로 나뉩니다.
기본 타입은 byte, char, short, int, long, float, double, boolean
참조 타입은 class, interface가 있습니다.
이때 기본 자료타입(primitive type)을 객체로 다루기 위해서 사용하는 클래스들을 래퍼 클래스(wrapper class)라고 합니다.
래퍼 클래스는 기본 유형을 래핑하고 변환 메서드, 비교 메서드 및 유틸리티 메서드와 같은 추가 기능을 제공하는 Java 표준 라이브러리의 클래스입니다. 각 기본 유형에는 해당 래퍼 클래스가 있습니다.
- Byte: wraps a byte value
- Short: wraps a short value
- Integer: wraps an int value
- Long: wraps a long value
- Float: wraps a float value
- Double: wraps a double value
- Character: wraps a char value
- Boolean: wraps a boolean value
래퍼 클래스는 기본 유형을 객체로 취급해야 하는 상황에서 주로 사용됩니다. 예를 들어 Integer 클래스를 사용하여 컬렉션에 int 값을 저장하거나 Integer 개체를 개체를 예상하는 메서드에 대한 인수로 전달할 수 있습니다.
요약하면 기본 유형과 래퍼 클래스의 주요 차이점은 기본 유형은 프로그래밍 언어에 내장된 기본 데이터 유형인 반면 래퍼 클래스는 기본 유형을 래핑하고 추가 기능을 제공하는 클래스라는 것입니다.
int | Integer |
기본타입 | 참조타입 |
산술 연산 가능함 | 산술 연산 불가능 |
null로 초기화 불가능 | null 초기화 가능 |
추가적으로 기본 타입의 데이터를 wrapper 클래스의 인스턴스로 변환하는 과정을 박싱(Boxing)이라고 하고, 래퍼 클래스의 인스턴스에 저장된 값을 다시 기본 타입의 데이터로 꺼내는 과정을 언박싱(UnBoxing)이라고 합니다.
728x90
반응형
'JAVA' 카테고리의 다른 글
Java 스트림(Stream) 정리 (0) | 2021.07.17 |
---|