- 기본 데이터타입을 객체 형태로 관리해주는 클래스의 모음(java.lang 패키지에 위치)
- 각 기본 데이터타입과 1:1로 대응하는 클래스 제공 -> Byte, Short, Integer, Long, Float, Double, Character, Boolean
- Wrapper 클래스에서 제공하는 상수와 메서드를 활용하여 기본 데이터타입 데이터를 다양하게 처리할 수 있다.
System.out.println("byte 타입 메모리 크기(bit) : "+Byte.SIZE);
System.out.println("byte 타입 메모리 크기(byte) : "+Byte.BYTES);
System.out.println("byte 타입 최소값 : "+Byte.MIN_VALUE);
System.out.println("byte 타입 최대값 : "+Byte.MAX_VALUE);
오토 박싱
- 기본 데이터타입 ➡️ Wrapper 클래스타입 객체 : 변환을 자동으로 해주는 기능
ex) int ➡️ Integer, char ➡️ Character- Java 1.5 이상 버전에서는 과정을 생략해도 자동으로 변환을 수행하도록 변경한다. (그 이하 버전은 X)
오토 언박싱
- Wrapper 클래스타입 객체 ➡️ 기본 데이터타입 : 자동으로 변환 해주는 기능
ex) Integer ➡️ int, Character ➡️ char
⚠️ 기본 데이터타입 : Stack 영역에서 저장 및 관리
객체 : Heap 영역에 저장 + Stack 영역에서 주소 관리
➡️ 기본 데이터타입과 객체는 영역이 다르기 때문에 원래는 서로 호환 X
- 기본 타입 ➡️ Object 타입 : 기본 데이터타입 ➡️ (오토박싱) ➡️ Wapper 클래스타입 ➡️ (업캐스팅) ➡️ Object 타입 의 세 단계를 거친다.
- 문자열 ➡️ 기본 타입
- 웹에서 form의 input 태그로 데이터 입력하거나 GUI 환경으로 데이터 입력 받을 때 모두(숫자포함) 문자열로 취급
- 해당 문자열을 실제 연산하기 위해 기본 데이터타입으로 변환 ➡️ Wrapper 클래스의 parse 메서드 사용
- Wrapper클래스명.parse기본데이터타입명(문자열 변수 또는 데이터)
ex) 정수로 변환 Integer.parseInt() / 실수로 변환 Double.parseDouble()
주로 static 메서드 형태 (클래스명.메서드명() 으로 호출)
기본 데이터타입과 Wrapper 클래스 모두 활용 가능
Integer 클래스의 메서드
- max() : 두 정수의 최대값 계산
- min() : 두 정수의 최소값 계산
- Integer.toXXXString() : 10진수 정수를 다양한 형태의 진법으로 변환
ex) XXX 자리에 Binary(2진), Octal(8진), Hex(16진)
- isXXX() : XXX인지 판별
ex) isUpperCase() : 대문자인가? / isDigit() : 숫자인가? / isWhitespace() : 공백인가?- toXXX() : XXX로 변환
ex) toLowerCase() : 소문자로 변환