Ch9-25~27. wrapper 클래스
0. 목차
Chapter9. java.lang 패키지와 유용한 클래스
Ch9 - 25. 래퍼(wrapper) 클래스
Ch9 - 26. 래퍼(wrapper) 클래스 예제
Ch9 - 27. Number 클래스
Ch9 - 25. 래퍼(wrapper) 클래스
▶ 래퍼(wrapper) 클래스란?
▷ 기본형 값을 감싸는 클래스
▷ 8개의 기본형을 객체로 다뤄야 할 때 사용하는 클래스
- Integer code
public final class Integer extends Number implements Comparable { ... private int value; // Integer가 int(기본형)를 감싸고 있음 ... }
▶ 기본형이 나오게 된 배경
▷ 객체지향언어 : 모두 객체가 되는 걸 지향
▷ 근데 기본형은 객체가 아님
▷ 왜? 성능 문제 때문
▶ boolean 래퍼 클래스
▷ Boolean
Boolean(boolean value)
Boolean(String s)
Boolean b1 = new Boolean(true) Boolean b2 = new Boolean("true")
▶ char 래퍼 클래스
▷ Character
Character(char value)
Character c = new Character('a')
▶ byte 래퍼 클래스
▷ Byte
Byte(byte value)
Byte(String s)
Byte b1 = new Byte(10) Byte b2 = new Byte("10")
▶ short 래퍼 클래스
▷ Short
Short(boolean value)
Short(String s)
Short b1 = new Short(10) Short b2 = new Short("10")
▶ int 래퍼 클래스
▷ Integer
Integer(int value)
Integer(String s)
Integer i1 = new Integer(100) Integer b2 = new Integer("100")
▶ long 래퍼 클래스
▷ Long
Long(long value)
Long(String s)
Long b1 = new Long(100) Long b2 = new Long("100")
▶ float 래퍼 클래스
▷ Float
Float(double value)
Float(float value)
Float(String s)
Float f1 = new Float(1.0) Float f2 = new Float(1.0f) Float f2 = new Float("1.0f")
▶ double 래퍼 클래스
▷ Double
Double(double value)
Double(String s)
Double b1 = new Double(1.0) Double b2 = new Double("1.0")
Ch9 - 26. 래퍼(wrapper) 클래스 예제
▶ Integer i = new Integer();
▷ ==
Integer i1 = new Integer(100);
Integer i2 = new Integer(100);
System.out.println(i1==i2);
// console
false
i1@0x100 → 100
i2@0x200 → 100
0x100 ≠ 0x200
▷ equals()
Integer i1 = new Integer(100);
Integer i2 = new Integer(100);
System.out.println(i1.equals(i2));
// console
true
i1@0x100 → 100
i2@0x200 → 100
100 ≠ 100
▷ equals()
Integer i1 = new Integer(100);
Integer i2 = new Integer(100);
System.out.println(i1.equals(i2));
// console
true
i1@0x100 → 100
i2@0x200 → 100
100 = 100
▷ compareTo()
Integer i1 = new Integer(100);
Integer i2 = new Integer(100);
System.out.println(i1.compareTo(i2));
// console
0
i1@0x100 → 100
i2@0x200 → 100
100 = 100
compareTo()
i1 = i2 → 0
i1 > i2 → + 양수
i1 < i2 → - 음수
▷ toString()
Integer i1 = new Integer(100);
Integer i2 = new Integer(100);
System.out.println(i1.toString(i2));
// console
"100"
int 100 -to→ String "100"
▷ …
System.out.println("MAX_VALUE : " + Integer.MAX_VALUE);
System.out.println("MIN_VALUE : " + Integer.MIN_VALUE);
System.out.println("SIZE : " + Integer.SIZE + " bits");
System.out.println("BYTES : " + Integer.BYTES + " bytes");
System.out.println("TYPE : " + Integer.TYPE);
// console
MAX_VALUE : 2147483647
MIN_VALUE : -2147483648
SIZE : 32 bits
BYTES : 4 bytes
TYPE : int
Ch9 - 27. Number 클래스
▶ Number 클래스란?
▷ 모든 숫자 래퍼 클래스의 조상
- Numer class code
public abstract class Number implements java.io.Serializable { // 추상 클래스 public abstract int intValue(); public abstract long longValue(); public abstract float floatValue(); public abstract double doubleValue(); public byte byteValue() { return (byte)intValue(); } public short shortValue() { return (short)intValue(); } }
래퍼 객체 → 기본형
역할을 하는 메서드를 가진 Number 클래스
ex) new Integer(100) → int 100?
intValue()
사용