3) wrapper 클래스
개념: 기본형 8개에 해당하는 참조형인 클래스를 묶어서 부르는 이름이다.
기본형 참조형 ( 클래스 )
-------------- --------------
byte Byte
short Short
int Integer
long Long
float Float
double Double
char Character
boolean Boolean
제공이유: wrapper 클래스내의 상수 및 메서드의 도움을 받을 수 있다.
특징:
거의 대부분의 멤버가 static 으로 되어있다.
( new 없이 매우 손쉽게 사용할 수가 있다. )
추가개념: 오토박싱( auto boxing ), 오토언박싱 ( auto unboxing )
package exam19_Util;
public class Util03_wrapperTest {
public static void main(String[] args) {
// 1. 상수의 도움 예
System.out.println("Byte: "+ Byte.MIN_VALUE+" ~ " + Byte.MAX_VALUE);
System.out.println("Short: "+ Short.MIN_VALUE+" ~ " + Short.MAX_VALUE);
System.out.println("Integer: "+ Integer.MIN_VALUE+" ~ " + Integer.MAX_VALUE);
System.out.println("Long: "+ Long.MIN_VALUE+" ~ " + Long.MAX_VALUE);
/*
* Byte: -128 ~ 127
Short: -32768 ~ 32767
Integer: -2147483648 ~ 2147483647
Long: -9223372036854775808 ~ 9223372036854775807
*/
// 2. 메서드 도움 예
// "10" ---> 10
int n = Integer.parseInt("10");
// "3.14" ---> 3.14
float f = Float.parseFloat("3.14");
// 10 과 20 중 최대값 반환 또는 최소값 반환 또는 합
System.out.println(Integer.max(10, 20)); // 20
System.out.println(Integer.min(10, 20)); // 10
System.out.println(Integer.sum(10, 20)); // 30
// 대소문자냐?
char c = 'A';
System.out.println(Character.isUpperCase(c)); // 대문자냐? true
System.out.println(Character.isLowerCase(c)); // 소문자냐? false
// 문자냐?
char c2 = 'A';
char c3 = '1';
System.out.println(Character.isLetter(c2)); // true
System.out.println(Character.isLetter(c3)); // false
// 숫자냐?
System.out.println(Character.isDigit(c2)); // false
System.out.println(Character.isDigit(c3)); // true
// 공백이냐?
char c4 = ' ';
System.out.println(Character.isWhitespace(c4)); // true
// '1' ---> 1, "1" ---> 1
int k = Character.getNumericValue('1');
System.out.println(k+1); // 2
}
}
* auto boxing (오토박싱) & auto unboxing (오토언박싱)
package exam19_Util;
public class Util03_wrapperTest2_autoboxing_unboxing {
public static void main(String[] args) {
// 과거: 기본형과 참조형을 분리해서 사용
// 기본형으로 정수 10 만드는 방법
int n = 10;
// 참조형으로 정수 10 만드는 방법
Integer n2 = new Integer(10); // 현재는 deprecated 되어서 권장하지 않는방법
// 참조형을 기본형으로 저장
int n3 = n2.intValue();
////////////////////////////////////////////////////
// 현재: 기본형과 참조형을 구분하지 않고 사용. 자동으로 서로간에 변경되도록 지원
// 오토박싱: 기본형 ----> 참조형
int x = 10;
Integer x2 = x;
// 오토언박싱: 참조형 ----> 기본형
int x3 = x2;
// 다형성을 적용한 Object 배열
// Object [] obj = { new Integer(10) };
// auto boxing ↓
Object [] obj = { 10, 3.14, "hello" };
}
}
'Programming > JAVA(eclipse)' 카테고리의 다른 글
java 11일차 _ 01. 유틸리티 클래스( 날짜 데이터 Calender ) (0) | 2024.03.22 |
---|---|
java 11일차 _ 01. 유틸리티 클래스( 날짜 데이터 Date ) (0) | 2024.03.22 |
java 11일차 _ 01. 유틸리티 클래스( StringBuilder 클래스 ) (0) | 2024.03.22 |
java 11일차 _ 01. 유틸리티 클래스( String 클래스 ) (0) | 2024.03.22 |
java 11일차 _ 10일차 정리 (0) | 2024.03.22 |