자바 기본 자료형 관련 클래스
- 자바의 라이브러리에서는 기본 타입(byte, char, short, int, long, float, double, boolean)에 해당하는 값을 갖는 '객체'를 생성하기 위해 클래스를 제공하고 있습니다.
- 기본 타입을 클래스로 감싼다고 하여 포장 클래스(Wrapper)라고 불립니다.
- 포장 클래스는 기본 라이브러리에 포함되며, 기본 타입과 같은 이름을 가지고 있습니다.
(클래스 이름 코딩 컨벤션에 따라 앞글자를 대문자로 지정)- byte -> Byte
- char -> Character
- short -> Short
- int -> Integer
- long -> Long
- float -> Float
- double -> Double
- boolean -> Boolean
- 포장 클래스는 포장하고 있는 기본 타입의 값은 변경할 수 없고, 클래스로서 활용하기 위해서 사용됩니다.
- 클래스로의 변경이 필요한 이유는 자바 라이브러리에서 자료구조를 구현한 컬렉션에서 활용하기 위해서 입니다.
박싱과 언박싱(Boxing & Unboxing)
- 박싱(Boxing)
- 기본 타입을 포장 클래스의 객체로 만드는 것을 뜻합니다.
- 포장 클래스의 변수에 기본 타입의 값이 대입될 때 발생합니다.
- 기본 타입을 포장 클래스의 객체로 만드는 것을 뜻합니다.
- 언박싱(Unboxing)
- 포장 클래스의 객체에서 기본 타입의 값을 얻어내는 것을 뜻합니다.
- 포장 클래스의 값이 기본 타입 변수에 포장 클래스의 값이 대입될 때 발생합니다.
- 문자열을 기본 타입 값으로 변환
(String to Primitive Type) - 포장 클래스의 parse[Type] 메서드를 이용하여 문자열에 포함된 타입을 기본 타입(숫자)로 변경하여 반환할 수 있습니다.
- 포장 클래스의 객체에서 기본 타입의 값을 얻어내는 것을 뜻합니다.
parse[Type]을 이용하여 타입을 변경하는 예시
public static void main(String[] args) {
// 문자열로 저장된 숫자 데이터
String sNumber = "2357";
int num1 = 0;
int num2 = 1143;
int sum = 0;
// 문자열 데이터를 기본 숫자형으로 변경
num1 = Integer.parseInt(sNum);
sum = num1 + num2;
// 4500 출력
System.out.println(sum);
}
- 포장 클래스의 값 비교
- 포장 클래스는 참조 타입이기 때문에 비교 연산자인 ==, != 를 사용할 수 없습니다.
(내부의 값이 비교되는 것이 아닌 주소값만 비교) - 따라서 equals() 메서드를 이용해야 내부 값을 비교할 수 있습니다.
- 포장 클래스는 참조 타입이기 때문에 비교 연산자인 ==, != 를 사용할 수 없습니다.
equals() 메서드를 통한 값비교 예시
public static void main(String[] args) {
Integer intObj1 = 200;
Integer intObj2 = 200;
// 내부값이 아닌 인스턴스의 주소값을 비교하기 때문에 false 출력
System.out.println(intObj1 == intObj2);
// 내부의 값을 비교하기 때문에 true 출력
System.out.println(intObj.equals(intObj2));
}
포장 클래스(Wrapper Class)
- 포장 클래스의 주요 메서드
(대부분의 포장 클래스에서 동일한 메서드 보유)- compareTo([Type tpye]): 선언된 포장 클래스 타입을 파라미터로 입력하여 선택된 값과 비교한 차이값을 int 타입으로 반환합니다.
- [type]value(): 포장된 값을 type(byte, char, int 등)의 기본 타입으로 반환합니다.
- toString(): 포장 클래스의 내부 값을 String 타입으로 반환 합니다.
- static compare(type x, type y): 선언된 포장 클래스 타입의 기본 타입 2개를 파라미터로 받고, 앞의 수(x)에서 뒤의 수(y)의 차이값을 int 타입으로 반환합니다.
- static max(type x, type y): 선언된 포장 클래스 타입의 기본 타입 2개를 파라미터로 받고, 이를 비교하여 더 큰 수를 해당 기본 타입으로 반환합니다.
- static min(type x, type y): 선언된 포장 클래스 타입의 기본 타입 2개를 파라미터로 받고, 이를 비교하여 더 작은 수를 해당 기본 타입으로 반환합니다.
- static sum(type x, type y): 선언된 포장 클래스 타입의 기본 타입 2개를 파라미터로 받고, 이를 더하여 해당 기본 타입으로 반환합니다.
- static parse[Type](String s): 문자열을 숫자로 변환하여 해당 타입으로 반환합니다.
- static valueOf(String s): 문자열을 숫자로 변환하여 해당 타입의 포장 클래스 타입으로 반환합니다.
- static toString(type x): 문자열을 문자열으로 변환하여 String 타입으로 반환합니다.
'Programing Language > Java' 카테고리의 다른 글
[Java] 접근자와 설정자(Getter & Setter) (0) | 2022.09.05 |
---|---|
[Java] 자바 수학 관련 클래스(Java Math Class) (0) | 2022.07.23 |
[Java] 자바 문자열 관련 클래스(Java String Related Classes) (0) | 2022.07.22 |
[Java] 자바 시스템 관련 클래스(Java System Class) (0) | 2022.07.20 |
[Java] 자바 오브젝트 클래스(Java Object Class) (0) | 2022.07.18 |