- Wrapper Class (ํฌ์ฅ ํด๋์ค)
์๋ฐ๋ ๊ธฐ๋ณธ ํ์ (byte, char, short, int, long, float, double, boolean)์ ๊ฐ์ ๊ฐ๋ ๊ฐ์ฒด๋ฅผ ์์ฑํ ์ ์๋ค. ์ด๋ฐ ๊ฐ์ฒด๋ฅผ ํฌ์ฅ ๊ฐ์ฒด๋ผ๊ณ ํ๋ค.( ๊ธฐ๋ณธ ํ์ ๊ฐ์ ๋ด๋ถ์ ๋๊ณ ํฌ์ฅ )
ํฌ์ฅ ํ๊ณ ์๋ ๊ธฐ๋ณธ ํ์ ๊ฐ์ ์ธ๋ถ์์ ๋ณ๊ฒฝํ ์ ์๋ค. ๋ง์ฝ ๋ด๋ถ์ ๊ฐ์ ๋ณ๊ฒฝํ๊ณ ์ถ๋ค๋ฉด ์๋ก์ด ํฌ์ฅ ๊ฐ์ฒด๋ฅผ ๋ง๋ค์ด์ผ ํ๋ค.
1. ๋ฐ์ฑ(Boxing)๊ณผ ์ธ๋ฐ์ฑ(Unboxing)
- ๋ฐ์ฑ: ๊ธฐ๋ณธ ํ์ ์ ๊ฐ์ ํฌ์ฅ ๊ฐ์ฒด๋ก ๋ง๋๋ ๊ณผ์
- ์ธ๋ฐ์ฑ: ํฌ์ฅ ๊ฐ์ฒด์์ ๊ธฐ๋ณธ ํ์ ๊ณผ ๊ฐ์ ์ป์ด๋ด๋ ๊ณผ์
//boxing
Byte obj = new Byte(10); // ๋ฌธ์์ด์ ์ค ๊ฒฝ์ฐ Byte obj = new Byte("10");
Charactor obj = new Charactor('๊ฐ');
Short obj =new Short(100); // ๋ฌธ์์ด์ ์ค ๊ฒฝ์ฐ Short obj = new short("100");
Integer obj = new Integer(1000); // ๋ฌธ์์ด์ ์ค ๊ฒฝ์ฐ Integer obj = new Integer("1000");
Long obj = new Long(10000); // ๋ฌธ์์ด์ ์ค ๊ฒฝ์ฐ Long obj = new Long(10000);
Float obj = new Float(2.5F); // ๋ฌธ์์ด์ ์ค ๊ฒฝ์ฐ Float obj = new Float("2.5F");
Double obj = new Double(3.5); // ๋ฌธ์์ด์ ์ค ๊ฒฝ์ฐ Double obj = new Double("3.5");
Boolean obj = new Boolean(true); // ๋ฌธ์์ด์ ์ค ๊ฒฝ์ฐ Boolean obj = new Boolean("true");
// ์์ฑ์๋ฅผ ์ด์ฉํ์ง ์์๋ ํฌ์ฅ ํด๋์ค๋ง๋ค ๊ฐ๊ณ ์๋ ์ ์ valueOf() ๋ฉ์๋ ์ฌ์ฉ
Integer obj = Integer.valueOf(1000);
//unboxing
byte a = obj.byteValue();
char a = obj.charValue();
short a = obj.bshortValue();
int a = obj.intValue();
long a = obj.longValue();
float a = obj.floatValue();
double a = obj.doubleValue();
boolean a = obj.booleanValue();
//์๋ ๋ฐ์ฑ
Integer obj = 10;
//์๋ ์ธ๋ฐ์ฑ
Integer obj = new Integer(200);
int value = obj; // ์๋ ์ธ๋ฐ์ฑ
int value = obj + 10; // ์๋ ์ธ๋ฐ์ฑ
Wrapper(ํฌ์ฅ) ํด๋์ค์ ์์๋ฅผ ๋ค์๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
public static void main(String[] args) {
Integer obj = new Integer(100);
Integer obj2 = new Integer("100");
Integer obj3 = Integer.valueOf(100);
int unboxing1 = obj.intValue();
int unboxing2 = obj2.intValue();
int unboxing3 = obj3.intValue();
System.out.println(unboxing1);
System.out.println(unboxing2);
System.out.println(unboxing3);
}
2. ๋ฌธ์์ด ๊ธฐ๋ณธํ์ ์ผ๋ก ๋ณํ
์ฌ๊ธฐ์ ์์ธํ ์ ์ด๋์๋ค.
3. ํฌ์ฅ ๊ฐ ๋น๊ต
Integer a = 300;
Integer b = 300;
Integer c = 100;
Integer d = 100;
a์ b๋ ์๋ก ๊ฐ์ ๊ฐ์ ๋ด๊ณ ์์ด๋, ํฌ์ฅ ๊ฐ์ฒด๋ก์ ์๋ก ๋ค๋ฅธ ๊ฐ์ฒด๋ก ์ด๋ฃจ์ด์ ธ ์๊ธฐ ๋๋ฌธ์ a==b๋ false๊ฐ ๋๋ค. ๋ง์ฝ์ a์ b๊ฐ ๊ฐ๊ฒ ๋์ค๊ฒ ํ๋ ค๋ฉด ๋ด๋ถ ๊ฐ์ ์ธ๋ฐ์ฑํ๊ฑฐ๋ equals() ํจ์๋ฅผ ํตํด์ ๋ด๋ถ ๊ฐ์ ๋น๊ตํด์ผํ๋ค.
โ ๋ด๋ถ ๊ฐ ์ธ๋ฐ์ฑ
โก equals() ํจ์
ํ์ง๋ง c์ d๋ ==์ ํตํด์๋ ๋ด๋ถ ๊ฐ์ ๋น๊ตํ ์ ์๋ค.
ํ์ | ๊ฐ์ ๋ฒ์ |
boolean | true |
char | \u0000 ~ \u0071 |
byte, short, int | -128 ~ 127 |
๋ค์ ํ์ฒ๋ผ ๊ฐ์ ๋ฒ์ ๋ด๋ถ์ ์๋ ๊ฐ๋ค์ equals()์ ๋น๊ต์ฐ์ฐ์๋ก ๋ชจ๋ ๋น๊ต ๊ฐ๋ฅํ๋ค.
- Math Class
: ์ ์ ๋ฉ์๋
๋ฉ์๋ | ์ค๋ช | ์์ ์ฝ๋ | ๋ฆฌํด ๊ฐ |
int abs(int a) double abs(double a) |
์ ๋๊ฐ | int a = Math.abs(-5); double b = Math.abs(-3.14); |
a = 5 b = 3.14 |
double ceil(double a) | ์ฌ๋ฆผ๊ฐ | double a = Math.ceil(5.3); double b = Math.ceil(-5.3); |
a = 6.0 b = -5.0 |
double floor(double a) | ๋ฒ๋ฆผ๊ฐ | double a = Math.floor(5.3); double b = Math.floor(-5.3); |
a = 5.0 b = -6.0 |
int max(int a, int b) double max(double a, double b) |
์ต๋๊ฐ | int a = Math.max(5, 9); double b = Math.max(-5.3, 9.2) |
a = 9 b = 9.2 |
int min(int a, int b) double min(double a, double b) |
์ต์๊ฐ | int a = Math.min(5, 9); double b = Math.min(-5.3, 9.2) |
a = 5 b = -5.3 |
duoble random() | ๋๋ค๊ฐ | double a = Math.random(); | 0.0<=a<1.0 |
double rint(double a) | ๊ฐ๊น์ด ์ ์์ ์ค์ ๊ฐ | double a = Math.rint(5.3); double b= Math.rint(5.7); |
a = 5.0 b = 6.0 |
long round(double a) | ๋ฐ์ฌ๋ฆผ ๊ฐ | long a = Math.round(5.3); longb= Math.round(5.7); |
a = 5 b = 6 |
์ด ๊ธ 1๋ฒ์์๋ ์ ์ ์๋ฏ์ด,Math class์ random ํจ์๋ ์ํ๋ ๋ฒ์๋ฅผ ์ ํด์ ๋๋คํ ๊ฐ์ ๋ถ๋ฌ์ฌ ์ ์๋ค.
// 1 ~ 10 ๊น์ง
int a = ((int) Math.randon() * 10) + 1;
[์ถ์ฒ] ํผ๊ณต์๋ฐ p 498 ~ p 507
'Programming Language > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Enum Class(enumeration) method (0) | 2022.04.18 |
---|---|
Java 9์ผ์ฐจ ๊ณต๋ถ(java.util[Date, Calendar]) (0) | 2022.02.26 |
Java 9์ผ์ฐจ ๊ณต๋ถ(Java API[String Class]) (0) | 2022.02.26 |
Java 9์ผ์ฐจ ๊ณต๋ถ(Java API[Object Class, System Class, Class Class]) (0) | 2022.02.26 |
Java 8์ผ์ฐจ ๊ณต๋ถ(์์ธ ํด๋์ค) (0) | 2022.02.24 |