어려울 거 같아서 미뤄뒀던 프로그래밍 공부 이번에 숨 딱 참고 Java 다이브 💦
Java는 데이터를 관리하기 위하여 기본 데이터 타입을 지원하지만, 클래스를 통해서 만들어진 객체를 기본 데이터 타입의 변수를 객체형태로 사용해야 하는 경우가 있는데, 이때 기본형 타입을 객체로 포장할 필요가 있어요. 이럴 때 특정 기본형 타입을 나타내는 포장클래스(Wrapper Class)를 사용해요.
초창기 Java 언어는 기본 자료형의 연산보다도 Wrapper 클래스를 사용한 연산이 더 많이 이루어 졌으나, Java언어가 발전함에 따라서 기본 자료형과 Wrapper Class 간에 연산에 차이가 없어졌어요. Wrapper클래스와 기본 자료형을 구분하지 않고 사용하기 때문에 객체로서의 특별한 의미가 없어졌다고 볼 수 있어요.
각각의 Wrapper 클래스의 객체는 자신과 대응되는 기본 자료형의 데이터를 파라미터로 전달받아요.
int num = 1;
Integer wrapper = new Integer( num );
기본 자료형과 Wrapper 클래스 간에는 서로 암묵적 형변환이 가능해요.
int num = 100;
Integer wrapper = num;
Integer wrapper = new Integer(200);
int num = wrapper;
모든 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 money1 = "3000";
String money2 = "5000";
String total = money1 + money2;
System.out.println(total);
/*
출력결과)
30005000
*/
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 클래스는 수학전 연산을 지원하는 클래스에요.
// 주어진 두 수에 대한 최대값 구하기
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