728x90
8.1 공통 필드와 메소드
- 자바는 기본 타입과 이에 대응하는 래퍼 클래스간의 변환을 자동으로 해줌.
- Integer value = 3; 이게 가능하다.
- 박싱 변환 : 기본 값을 래퍼 객체로 변환 ( wrap과 box는 거의 비슷한 의미)
- 언박싱 변환 : 래퍼 객체에서 기본 값을 추출하는 것
- 래퍼 클래스는 감싸고 있는 기본 값을 불변 객체로 정의한다.
- new Integer(1)로 생성된 객체는 항상 1을 가지며 이 값을 수정할 수 없다.
- 래퍼 클래스는 다음과 같은 메소드를 가진다.
- public static Type valueOf(Type t)
- t 값을 가지는 지정된 Type의 객체를 반환한다.
- public static Type valueOf(String str)
- str를 변환한 값을 가지는 지정된 Type의 객체를 반환한다.
- 이 메소드들은 인스턴스를 생성해서 반환하거나 저장된 인스턴스를 반환한다.
- Boolean을 제외한 각각의 래퍼 클래스들은 다음과 같은 세 개의 필드를 정의하고 있다.
- public static final type MIN_VALUE
- 데이터 타입이 표현할 수 있는 최솟값
- public static final type MAX_VALUE
- 최댓값
- public static final int SIZE
- 타입을 표현하기 위해 사용되는 비트의 수 - Integer는 32
- public static final Class<Type> TYPE
- 타입을 표현하는 Class 객체 참조.
- 래퍼 클래스들은 Comparable<T>를 구현하고 있다.
- public int compareTo(Type other)
- 이 메소드가 호출된 객체가 매개변수로 전달된 객체보다 작거나 같거나 크다면 0보다 작거나 같거나 큰 값을 반환한다.
- public type typeValue()
- 현재 래퍼 객체에 대응되는 기본 값을 반환한다. 예를 들어, Integer.valueOf(6).intValue()는 6을 반환한다.
- 클래스들은 Object의 다음 멤버를 오버라이드하고 있다.
- public String toString()
- 래퍼 객체의 값을 문자열 표현으로 반환한다.
- public boolean equals(Object obj)
- 두 객체가 동일한 타입이고 동일 값을 가진다면 true를 반환.
8.2 Void
- Void클래스는 지금까지 살펴본 규칙들이 적용되지 않는다.
8.3 Boolean
- Boolean클래스는 boolean타입을 클래스로 나타낸다. 문자열을 해석하는 생성자와 valueOf 메소드 그리고 parseBoolean 메소드는 모두 "true" 를 대소문자를 혼합하여 표현하더라도 true로 이해한다.
8.4 Number
- Number 클래스는 기본 숫자 타입을 표현하는 래퍼 클래스인 Byte, Short, Integer, Long, Float, Double이 확장하고 있는 추상 클래스이다.
- Float 객체가 32.87 을 가지고 있다면 이 객체에서 intValue를 호출하면 32를 반환. (int) 32.87임
- 정수 타입은 Byte, Short, Integer, Long이다. 다음과 같은 메소드도 제공하고 있다.
- public static type parseType(String str, int radix)
- 문자열을 radix기준으로 지정된 타입의 정수 값으로 변환.
- Integer.parseInt("1010", 2) -> 10, Integer.parseInt("-1010", 2) -> -10
- public static Type valueOf(String str, int radix)
- parseInt와 거의 비슷하다. 기본 int가 필요하면 parseInt, 래퍼 객체가 필요하면 valueOf
8.5 Character 클래스
- char c = Character.toLowerCase('A') -> a
- char c = Character.toUpperCase('a') -> A
- char c = Character.isDigit('1') -> true
8.6 박싱 변환
- 기본 타입을 래퍼 클래스의 인스턴스로 자동 변환하는 것을 박싱 변환이라고 한다. 그 이유는 래퍼 객체가 기본 타입의 값을 가지고 있는 박스와 같기 때문이다.
728x90
'도서 > 자바 프로그래밍 언어 - James Gosling' 카테고리의 다른 글
[자바 프로그래밍 언어] 10장 흐름제어 (0) | 2021.12.29 |
---|---|
[자바 프로그래밍 언어] 9장 연산자와 표현식 (0) | 2021.12.28 |
[자바 프로그래밍 언어] 7장 토큰, 값, 변수 (0) | 2021.12.27 |
[자바 프로그래밍 언어] 6장 열거 타입 (0) | 2021.12.26 |
[자바 프로그래밍 언어] 5장 중첩 클래스와 인터페이스 (0) | 2021.12.25 |
댓글