day08 WrapperClass

JTH·2023년 2월 1일
0

gb_jth

목록 보기
24/56

6. Wrapper Class

6-1. Wrapper Class

  • java는 데이터를 관리하기 위하여 기본 데이터 타입을 지원하지만, 클래스를 통해서 만들어진 객체를 통한데이터 관리도 가능하다.
  • 어떤 상황에서는 기본 데이터 타입의 변수를 객체 형태로 사용해야 하는 경우가 있는데, 이 때 기본형 타입을 객체로 포장할 필요가 있다.
  • 포장클래스(Wrapper class) 는 특정 기본형 타입을 나타내는 용도로 사용된다.

6-2. Wrapper Class 의미

  • 초창기 java언어는 기본 자료형의 연산보다도 Wrapper class를 사용한 연산이 더 많이 이루어 졌으나.
    java언어가 발전함에 따라서 기본 자료형과 Wrapper클래스간의 연산에 차이가 없어졌다.
  • 최근의 java언어는 Wrapper 클래스와 기본 자료형을 구분하지 않고 사용한다.

6-3. Wrapper 클래스의 객체 만들기

  • 각각의 wrapper 클래스의 객체는 자신과 대응되는 기본 자료형의 데이터를 파라미터로 전달받는다.
 	int num = 1;
	integer wrapper = new integer( num );

6-4. Wrapper 클래스의 형변환

  • 기본 자료형과 wrapper 클래스 간에는 서로 암묵적 형변환이 가능하다.
	int num = 100;
	Integer wrapper = num;

	Integer wrapper = new Integer(100);
	int num = wrapper;

6-5. Wrapper 클래스의 static 데이터

  • 모든 Wrapper 클래스는 static 데이터 형태로 wrapper 클래스에 대응하는 자료형에 대한 최소값과 최대값을 가지고 있다.
	int max = Integer.MAX_VALUE;  // 상수는 대문자로만
	int min = Integer.MIN_VALUE;

6-6. 문자열 데이터의 형변환 ( 중요 )

  • 1과 "1" 의 차이
    -> 기본 자료형과 문자열 데이터간의 연산에서는 기본자료형 데이터가 문자열로 변환된 후,
    문자열 간의 연산으로 처리된다.
	int a = 1;
	String b = "1";
	System.out.println( a + b );	// "11" 이 출력됨
  • 사용자 입력값에 대한 연산
    -> 모든 프로그램 플랫폼에서 사용자의 입력값은 String으로 처리된다.
    -> 만약, 인터넷 뱅킹에서 2개의 계좌로 송금할 금액을 각각 입력하였을때, 총 금액을 계산한다면 다음과 같이 처리될 것이다.
	String money1 = "3000";
	String money2 = "5000";
	String total = money1+money2; // "30005000"
  • 문자열 데이터의 형변환
    -> 문자열 데이터를 기본 데이터형으로 변환하기
    -> Wrapper 클래스에는 기본 자료형의 모양을 띄고 있는 문자열 데이터를 실제 기본 자료형으로 변환시키는 기능이 포함되어 있다.
    -> Wrapper 클래스를 사용하는 가장 큰 의미
	String money1 = "3000";
	String money2 = "5000";
	
	int m1 = Integer.parselnt(money1); 	// 머니라는 스트링타입이 인티저.파스 메소드를 통해 int로 변환
	int m2 = Integer.parselnt(money2);	//

	System.out.println(m1+m2); // 8000
package wrapperclass;

public class Main01 {

	public static void main(String[] args) {
		String a = "20";
		String b = "3.14";
		
		// 문자열을 실제 데이터형으로 변환하는 기능
		int num_a = Integer.parseInt(a);
		float num_b = Float.parseFloat(b);
		
		//변환된 값은 사칙 연산이 가능하다
		int v1 = num_a +100;
		float v2 = num_b +100;
		System.out.println(v1);
		System.out.println(v2);
		
		// 기본 데이터형의 객체화
		// deprecated
		Integer i = new Integer(100);
		
		
		
	}

}
profile
//

0개의 댓글