[자바(Java)] Wrapper 클래스

방용환·2023년 4월 17일
0
post-thumbnail

1. Wrapper 클래스

  • Wrapper 클래스 : 원시형을 클래스로 선언한 자료형을 일괄적으로 표현하기 위한 이름
  • 8가지를 묶어서 wrapper 클래스라고 부름 -> Byte, Short, Integer, Long, Float, Double, Character, Boolean
  • 원시형 대신 객체로 표현하기 위해 사용하는 클래스

2. Integer 클래스

1. Integer 클래스

  • Integer 클래스 : 정수값(int)을 저장하기 위한 클래스

2. Integer. 메소드

  • Integer.valueOf(Object i) : 매개변수로 값을 전달받아 정수값이 저장된 Integer 객체를 반환하는 메소드
  • Integer.valueOf(String s, int redix) : 매개변수로 전달받은 값으로 원하는 진수의 정수값으로 변환하여 Integer 객체에 저장하여 반환하는 메소드
    => 매개변수로 진수가 전달되지 않을 경우 문자열을 10진수로 처리
    => 정수값으로 변환되지 못하는 문자열이 전달된 경우 NumberFormatException 발생
  • Integer.intValue : Integer 객체에 저장된 정수값을 반환하는 메소드
Integer num1 = Integer.valueOf(100);
Integer num2 = Integer.valueOf(200);
Integer num2 = Integer.valueOf(num1.intValue() + num2.intValue());

System.out.println("num3 = " + num3.intValueOf());

// num3 = 300
  • 문자열을 전달받아도 내부적으로 정수값으로 저장
  • 위 방법이 자바의 정석적인 객체지향스러운 프로그래밍이지만 불편함

3. 오토박싱 (AutoBoxing) & 오토언박싱 (AutoUnboxing)

  • 오토박싱 (AutoBoxing) : 원시형 리터럴(값)을 JVM이 자동으로 Wrapper 클래스의 객체로 생성하여 반환하는 기능
  • 오토언박싱 (AutoUnboxing) : JVM이 자동으로 Wrapper 클래스의 객체에 저장된 값을 원시형 리터럴로 반환하는 기능
Integer num1 = 100, num2 = 200;
Integer num3 = num1 + num2;

System.out.println("num3 = " + num3);

// num3 = 300

4. Integer.parseInt(String s)

  • Integer.parseInt(String s) : 매개변수로 문자열을 전달받아 정수값으로 변환하여 반환하는 메소드
String str1 = "100", str2 = "200";
System.out.println("str1 + str2 = " + str1 + str2);

System.out.println("Integer.parseInt(str1) + Integer.parseInt(str2) = " 
+ Integer.parseInt(str1) + Integer.parseInt(str2));

// str1 + str2 = 100200
// Integer.parseInt(str1) + Integer.parseInt(str2) = 300

0개의 댓글