Number클래스

정순동·2023년 12월 14일
0

자바기초

목록 보기
51/89

Number 클래스

이 클래스는 추상클래스이며 내부적으로 숫자를 멤버변수로 갖는 래퍼 클래스들의 조상이다.

							ObjectNumberByte Short Integer Long Float Double BigInteger BigDecimal                       

상속 계층도를 보면 기본형 중에서 숫자와 관련된 래퍼 클래스들은 모두 Number클래스의 자손이라는 것을 알 수 있다.

그 외에도 BigInteger, BigDecimal이 있는데 이는 각각 정수와 실수의 가장 큰 기본형 long, double로 다룰 수 없는 큰 범위의 보둥 소수점수를 처리하기 위한 것으로 연산자의 역할을 대신하는 다양한 메서드를 가지고 있다.

Number 클래스 ↓

	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();
        }
    }

객체가 가지고 있는 값을 숫자와 관련된 기본형으로 변환하여 반환하는 메서드들을 정의하고 있다.

문자열을 숫자로 변환하기

문자열을 숫자로 변환 하는 다향한 방법이 있다.

	int i = new Integer("100").intValue();	// floatValue(), longValue()...
    int	i2 = Integer.parseInt("100");	// 주로 이 방법 사용
    Integer i3 = Integer.vvalueOf("100");

parse기본형타입()을 사용하면 기본형으로 반환하고 래퍼클래스.valueOf()를 사용하면 래퍼클래스 형태로 반환 해 주는것을 알 수 있다.

문자열이 10진수가 아닌 다른 진법(radix)의 숫자일 때도 변환이 가능하도록 메서드가 구성되어 있다.

	static int parseInt(String s, int radix)
    static Integer valueOf(String s, int radix)

참고로 10진법 이상의 진법은 11부터 'A' ~ 'F'로 입력 가능하다.

0개의 댓글