[JAVA] 자바 정복기 - Wrapper(포장) 클래스와 Math 클래스

개발log·2024년 4월 6일

NEW 자바 정복기

목록 보기
21/27
post-thumbnail

Wrapper(포장) 클래스

포장 객체

  • 기본 타입의 값을 내부에 두고 포장
  • 포장하고 있는 기본 타입 값은 외부에서 변경할 수 없음
  • byte, char, short, int, long, float, double, boolean 기본 타입 값을 갖는 객체

Boxing과 Unboxing

  • 박싱: 기본 타입의 값을 포장 객체로 만드는 과정
  • 언박싱: 포장 객체에서 기본 타입의 값을 얻어내는 과정
  • 생성자 이용하지 않고 각 포장 클래스마다 가진 정적 valueOf() 메소드 활용
Integer obj = Integer.valueOf(1000);
Integer obj = Integer.valueOf("1000");
  • '기본 타입 이름+Value()' 메소드를 호출하여 언박싱

자동 박싱과 언박싱

  • 포장 클래스 타입에 기본값이 대입될 경우 자동 박싱 발생
Integer obj = 100; //자동 박싱
  • 포장 타입에 포장 객체가 대입되는 경우 및 연산에서 자동 언박싱 발생
Integer obj = new Integer(200);
int value1 = obj; //자동 언박싱
int value2 = obj + 100; //자동 언박싱

문자열을 기본 타입 값으로 변환

  • 포장 클래스로 문자열을 기본 타입 값으로 변환
  • 'parse+기본 타입 이름' 정적 메소드

포장 값 비교

  • 포장 객체는 내부 값 비교하기 위해 ==!= 연산자 사용하지 않는 것이 좋음
    아래 연산 결과 false
Integer obj1 = 300;
Integer obj2 = 300;
System.out.println(obj1 == obj2);
  • 박싱된 값이 아래 표에 나와 있는 범위의 값이 아닌 경우 언박싱한 값 얻어 비교해야 함

Math 클래스

  • 수학 계산에 사용
  • Math.random() 메소드는 0.0 이상 1.0 미만 범위에 속하는 하나의 double 타입 리턴
0.0 <= Math.random() < 1.0
  • 활용: 1부터 10까지의 임의의 정수 난수 얻기

정리

  • Object 클래스: 자바의 최상위 부모 클래스, Object 클래스의 메소드는 모든 자바 객체에서 사용 가능
  • System 클래스: 운영체제의 일부 기능 이용할 수 있음. 정적 필드와 정적 메소드로 구성
  • Class 클래스: 클래스와 인터페이스의 메타 데이터가 Class 클래스로 관리됨.
  • String 클래스: String 클래스의 다양한 생성자 이용하여 직접 String 객체를 생성 가능
  • Wrapper 클래스: 기본 타입의 값 갖는 객체를 포장 객체라 함. 기본 타입의 값을 포장 객체로 만드는 것을 박싱, 반대의 과정을 언박싱이라 함.
  • Math 클래스: 수학 계산에 사용할 수 있는 메소드 제공하며, Math 클래스가 제공하는 메소드는 모두 정적 메소드이므로 Math 클래스로 바로 사용 가능
profile
나의 개발 저장소

0개의 댓글