728x90
1. 래퍼클래스란?
래퍼클래스는 기본 자료형을 컬렉션 프레임워크 등에 사용할 수 있도록 객체로 만들어주는 클래스입니다. 따라서 자료형의 개수만큼의 클래스가 있습니다. 래퍼클래스는 기본자료형만으로는 할 수 없는 다양한 메서드 기능을 지원합니다. 그리고 기본 자료형은 null이 불가능하지만 래퍼클래스는 null이 가능합니다. 다만 단순연산에는 오히려 메모리 증가만 발생할 수 있기 때문에 좋지않습니다.
2. 코드 예제
아래 코드를 통해 래퍼클래스를 확인해보겠습니다.
import java.util.Scanner;
import java.util.*;
public class Solution {
public static void main(String[] args) {
// int 타입
int int1 = 35;
Integer int2 = 2222; // int의 래퍼클래스
// 숫자비교 매개변수 숫자보다 크다면 1, 동일하면 0, 작으면 -1 반환
int int3 = int2.compareTo(int1);
System.out.println("int3->"+int3); // int3->1
// double 타입으로 형변환
double int4 = int2.doubleValue();
System.out.println("int4->"+int4); // int4->2222.0
// byte 타입으로 형변환
byte int5 = int2.byteValue();
System.out.println("int5->"+int5); // int5->-82
// 두개의 값 중 큰 값을 반환
int int6 = Integer.max(3,2);
System.out.println("int6->"+int6); // int6->3
//문자열을 숫자로 변환
int int7 = Integer.parseInt("14");
System.out.println("int7->"+int7); // int7->14
// int형 중 가장 작은값 반환 -> 반대는 Integer.MAX_VALUE
int int8 = Integer.MIN_VALUE;
System.out.println("int8->"+int8); // int8->-2147483648
// 앞숫자를 뒷숫자로 나눠서 몫을 반환
int int9 = Integer.divideUnsigned(10,3);
System.out.println("int9->"+int9); // int9->3
// 이진수로 변환하여 1의 개수를 세는 메서드
int int10 = Integer.bitCount(10); // 10 -> 1010
System.out.println("int10->"+int10); // int10->2
// char 타입
char ch1 = 'A';
Character ch2 = 'b';
// 문자비교 문자로 매개변수까지의 개수 차이만큼 반환
int ch3 = ch2.compareTo(ch1);
System.out.println("ch3->"+ch3); // ch3->33
// 문자 비교
boolean ch4 = ch2.equals(ch1);
System.out.println("ch4->"+ch4); // ch4->false
// 대문자인지 확인 -> 소문자는 isLowerCase()
boolean ch5 = Character.isUpperCase(ch2);
System.out.println("ch5->"+ch5); // ch5->false
// 문자인지 확인 -> 한글, 영문자 모두 가능
boolean ch6 = Character.isLetter(ch1);
System.out.println("ch6->"+ch6); // ch6->true
// 숫자로 변환 가능한지 확인
boolean ch7 = Character.isDigit('3');
System.out.println("ch7->"+ch7); // ch7->true
// 문자가 공백인지 확인 -> \n, \t, ' ' 등등 모두 공백으로 판단
boolean ch8 = Character.isWhitespace('\t');
System.out.println("ch8->"+ch8); // ch8->true
//boolean 타입
boolean bo1 = true;
Boolean bo2 = Boolean.FALSE;
// and 논리연산자
boolean bo3 = Boolean.logicalAnd(bo1,bo2);
System.out.println("bo3->"+bo3); // bo3->false
// xor 연산
boolean bo4 = Boolean.logicalOr(bo1,bo2);
System.out.println("bo4->"+bo4); // bo4->true
//or 연산
boolean bo5 = Boolean.logicalOr(bo1,bo2);
System.out.println("bo5->"+bo5); // bo5->true
}
}
이외에도 byte, short, long, float, double 등의 래퍼클래스도 있습니다.
'JAVA Programming > Java' 카테고리의 다른 글
| [JAVA] 컬렉션 프레임워크 (0) | 2025.09.10 |
|---|---|
| [JAVA] StringBuilder VS StringBuffer (0) | 2025.09.10 |
| [JAVA] 좋은 객체지향 설계의 5가지 원칙(SOLID) (0) | 2024.12.12 |
| [JAVA] 키보드 입력 받기(Scanner) (0) | 2024.07.14 |
| [JAVA] 메소드 (0) | 2024.07.10 |