Java 프로그래밍에서는 기본 자료형을 객체로 다루어야 할 때가 있습니다. 이때 유용하게 사용되는 것이 바로 Wrapper 클래스입니다. 이번 글에서는 Java의 Wrapper 클래스의 개념과 사용법을 알아보겠습니다.
1. Wrapper 클래스란?
Wrapper 클래스는 기본 자료형을 객체로 감싸는 클래스입니다. 예를 들어, int, char, boolean과 같은 기본 자료형은 객체가 아니지만, 이를 객체로 다루어야 할 때가 있습니다. 이럴 때 사용되는 것이 Wrapper 클래스입니다. Java에서는 각 기본 자료형에 대응하는 Wrapper 클래스를 제공하고 있습니다.
기본 자료형 | Wrapper 클래스 |
boolean | Boolean |
byte | Byte |
char | Character |
short | Short |
int | Integer |
long | Long |
float | Float |
double | Double |
2. Wrapper 클래스의 사용 예
2.1. 기본 자료형을 객체로 감싸기
기본 자료형을 객체로 변환할 때는 해당 Wrapper 클래스의 생성자를 사용합니다.
public class Main {
public static void main(String[] args) {
int num = 10;
Integer wrappedNum = new Integer(num); // int를 Integer 객체로 감싸기
System.out.println(wrappedNum); // 10 출력
}
}
2.2. 객체에서 기본 자료형으로 변환하기
Wrapper 객체를 기본 자료형으로 변환할 때는 해당 객체의 메서드를 사용합니다.
public class Main {
public static void main(String[] args) {
Integer wrappedNum = new Integer(10);
int num = wrappedNum.intValue(); // Integer 객체를 int로 변환
System.out.println(num); // 10 출력
}
}
2.3. 자동 박싱(Auto-boxing)과 자동 언박싱(Auto-unboxing)
Java 5부터는 자동 박싱과 자동 언박싱 기능을 지원하여 기본 자료형과 객체 간의 변환을 자동으로 처리할 수 있습니다.
public class Main {
public static void main(String[] args) {
Integer wrappedNum = 10; // 자동 박싱
int num = wrappedNum; // 자동 언박싱
System.out.println(wrappedNum); // 10 출력
System.out.println(num); // 10 출력
}
}
3. Wrapper 클래스의 주요 메서드
3.1. 문자열을 기본 자료형으로 변환하기
Wrapper 클래스는 문자열을 해당 기본 자료형으로 변환하는 메서드를 제공합니다.
public class Main {
public static void main(String[] args) {
String strNum = "123";
int num = Integer.parseInt(strNum); // 문자열을 int로 변환
System.out.println(num); // 123 출력
}
}
3.2. 기본 자료형을 문자열로 변환하기
Wrapper 클래스는 기본 자료형을 문자열로 변환하는 메서드를 제공합니다.
public class Main {
public static void main(String[] args) {
int num = 123;
String strNum = Integer.toString(num); // int를 문자열로 변환
System.out.println(strNum); // "123" 출력
}
}
4. Wrapper 클래스의 장점
- 유연성: 기본 자료형을 객체로 다룸으로써 Java의 객체 지향 기능을 더 잘 활용할 수 있습니다.
- 컬렉션과의 호환성: 컬렉션 프레임워크는 객체만을 다루기 때문에 기본 자료형을 컬렉션에 저장할 수 없습니다. Wrapper 클래스를 사용하면 기본 자료형을 컬렉션에 저장할 수 있습니다.
- 유틸리티 메서드: Wrapper 클래스는 다양한 유틸리티 메서드를 제공하여 문자열 변환, 비교, 해시코드 생성 등의 작업을 쉽게 할 수 있습니다.
결론
Java의 Wrapper 클래스는 기본 자료형을 객체로 다루어야 할 때 매우 유용한 도구입니다. 이를 통해 코드의 유연성과 컬렉션과의 호환성을 높일 수 있으며, 다양한 유틸리티 메서드를 통해 편리한 기능을 제공합니다. Wrapper 클래스의 사용법을 이해하고 적절히 활용하여 더 효율적이고 유지보수 가능한 코드를 작성해보세요.
'JAVA' 카테고리의 다른 글
static, final, static final (0) | 2024.06.28 |
---|---|
조건문에서 if만 사용할까? else if를 사용할까? (0) | 2024.06.27 |
Java의 Objects 클래스: 유용한 유틸리티 메서드 (0) | 2024.06.25 |
DTO, VO (0) | 2024.01.12 |
This (0) | 2022.11.08 |