숨 참고 JAVA 다이브 🌊 (14) - Wrapper Class, 문자열 형변환, Math Class

joyfulwave·2022년 8월 19일
0

숨 참고 JAVA 다이브

목록 보기
14/21

어려울 거 같아서 미뤄뒀던 프로그래밍 공부 이번에 숨 딱 참고 Java 다이브 💦


💡 Wrapper Class

Java는 데이터를 관리하기 위하여 기본 데이터 타입을 지원하지만, 클래스를 통해서 만들어진 객체를 기본 데이터 타입의 변수를 객체형태로 사용해야 하는 경우가 있는데, 이때 기본형 타입을 객체로 포장할 필요가 있어요. 이럴 때 특정 기본형 타입을 나타내는 포장클래스(Wrapper Class)를 사용해요.

📎 Wrapper 클래스 종류

📎 Wrapper 클래스 의미

초창기 Java 언어는 기본 자료형의 연산보다도 Wrapper 클래스를 사용한 연산이 더 많이 이루어 졌으나, Java언어가 발전함에 따라서 기본 자료형과 Wrapper Class 간에 연산에 차이가 없어졌어요. Wrapper클래스와 기본 자료형을 구분하지 않고 사용하기 때문에 객체로서의 특별한 의미가 없어졌다고 볼 수 있어요.

📎 Wrapper 클래스의 객체 만들기

각각의 Wrapper 클래스의 객체는 자신과 대응되는 기본 자료형의 데이터를 파라미터로 전달받아요.

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

📎 Wrapper 클래스 형변환

기본 자료형과 Wrapper 클래스 간에는 서로 암묵적 형변환이 가능해요.

	int num = 100;
	Integer wrapper = num;

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

📎 Wrapper 클래스의 static 데이터

모든 Wrapper클래스는 static 데이터 형태로 Wrapper 클래스에 대응되는 자료형에 대한 최소값과 최대값을 가지고 있어요.

	int max = Integer.MAX_VALUE; //static 데이터로 클래스로 바로 접근할 수 있다.
	int min = Integer.MIN_VALUE;

📎 문자열 데이터의 형변환

  • 기본 자료형과 문자열 데이터간의 연산에서는 기본 자료형 데이터가 문자열로 변환된 후, 문자열간의 연산으로 처리돼요.
	//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; 
    
    System.out.println(total);
    
    /*
    출력결과)
    30005000
    */
  • 입력값은 연산을 위해 문자열 데이터에서 기본 데이터 형으로 변환이 필요해요. Wrapper 클래스에는 기본 자료형의 모양을 띄고 있는 문자열 데이터를 실제 기본 자료형으로 변환시키는 기능이 포함되어 있어요.
	String money1 = "3000";
	String money2 = "5000";
    
	// int 타입에 담길 수 있는 타입으로 바뀐다.
	int m1 = Integer.parseInt( money1 ); 
    // 숫자형으로 연산이 가능해진다.
	int m2 = Integer.parseInt( money2 ); 
	
	System.out.println(m1 + m2);
    
    /*
    출력결과)
    8000
    */

⚫️ 예제

  public static void main(String[] args) {

          String a = "20";
          String b = "3.14";

          /*
           * Wrapper 클래스의 가장 중요한 기능은
           * 특정 데이터형의 모양을 하고 있는 문자열을 실제 데이터형으로 변화하는 기능이다.
           */

          int num_a = Integer.parseInt(a);
          float num_b = Float.parseFloat(b);

          // 변환된 값은 사칙연산이 가능하다.
          int v1 = num_a + 500;
          float v2 = num_b + 500;

          System.out.println("v1 = " + v1);
          System.out.println("v2 = " + v2);

      }
      
  /*
  출력결과)
  v1 = 520
  v2 = 503.14
  */




💡 Math 클래스

Math 클래스는 수학전 연산을 지원하는 클래스에요.

  • Math 클래스는 흔히 계산을 하는데 도움이 되는 많은 수의 기본적 수학 함수들을 제공해요.
  • Math 클래스는 Java 표준 클래스 라이브러리의 java.lang 패키지에 정의되어있어요.
  • Math 클래스의 모든 메서드들은 static 메서드로, 클래스의 객체를 생성하지 않고 그 메서드가 정의된 클래스 이름을 통해 호출될 수 있어요.
		// 주어진 두 수에 대한 최대값 구하기
		int max = Math.max(100, 9999);
		System.out.println("최대값 = "+ max);
		
		// 주어진 두 수에 대한 최소값 구하기
		int min = Math.min(100, 9999);
		System.out.println("최소값 = " + min);
		
		// 주어진 수에 대한 절대값 구하기
		int abs = Math.abs(-234);
		System.out.println("절대값 = " + abs);
		
		// 소수점 반올림
		long num = Math.round(3.123456);
		System.out.println("소수점 반올림 = " + num);
		
		// 원주율
		System.out.println("원주율 = " + Math.PI);
        
        /*
        출력결과)
       	최대값 = 9999
        최소값 = 100
        절대값 = 234
        소수점 반올림 = 3
        원주율 = 3.141592653589793
        */



다음 다이브에서 또 만나요 🌊




출처
https://media.giphy.com/media/l2Je1bFuOpkNpyqYM/giphy.gif
https://media.giphy.com/media/Jbb3KS22397YQ/giphy.gif

0개의 댓글