-
래퍼(Wrapper) 클래스Java 2023. 1. 1. 00:41
래퍼 클래스(Wrapper class)
기본 타입에 해당하는 데이터를 객체로 포장해 주는 클래스를 래퍼 클래스(Wrapper class)
래퍼 클래스는 모두 java.lang 패키지에 포함됨
박싱(Boxing)과 언박싱(UnBoxing)
박싱(Boxing)
기본 타입의 데이터를 래퍼 클래스의 인스턴스로 변환하는 과정
언박싱(UnBoxing)
래퍼 클래스의 인스턴스에 저장된 값을 다시 기본 타입의 데이터로 꺼내는 과정
오토 박싱(AutoBoxing)과 오토 언박싱(AutoUnBoxing)
JDK 1.5부터는 박싱과 언박싱이 필요한 상황에서 자바 컴파일러가 이를 자동으로 처리해 줌
자동화된 박싱과 언박싱을 오토 박싱(AutoBoxing)과 오토 언박싱(AutoUnBoxing)이라고 부름
Integer num = new Integer(17); // 박싱
int n = num.intValue(); // 언박싱
System.out.println(n);
Character ch = 'X'; // Character ch = new Character('X'); : 오토박싱
char c = ch; // char c = ch.charValue(); : 오토언박싱
System.out.println(c);17
X오토 박싱을 이용하면 new 키워드를 사용하지 않고도 자동으로 Character 인스턴스를 생성 가능
charValue() 메소드를 사용하지 않고 오토 언박싱을 이용하여 인스턴스에 저장된 값을 참조 가능
Integer num1 = new Integer(10);
Integer num2 = new Integer(20);
Integer num3 = new Integer(10);
System.out.println(num1 < num2); // true
System.out.println(num1 == num3); // false
System.out.println(num1.equals(num3)); // truetrue
false
true래퍼 클래스도 객체이므로 동등 연산자(==)를 사용하게 되면, 두 인스턴스의 값을 비교하는 것이 아니라 두 인스턴스의 주소값을 비교하게 됨
'Java' 카테고리의 다른 글
Map (0) 2023.06.26 slf4j log4j logback log4j2 (0) 2023.01.27 Integer.parseInt와 Integer.valueOf (0) 2022.12.31 연산자의 우선순위 (0) 2022.12.27 String.valueOf와 toString (0) 2022.12.24