๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป JAVA

[JAVA] int ์™€ Integer์˜ ์ฐจ์ด

chamroro 2022. 7. 16. 00:27

 

1) int๋Š” ๋ฌด์—‡์ธ๊ฐ€? (primitive type)

int๋Š” ๋ณ€์ˆ˜์˜ ํƒ€์ž…(data type)์ด๋‹ค.

๋ณ€์ˆ˜(variable)๋Š” '๊ฐ’์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ƒ์˜ ๊ณต๊ฐ„'์„ ์˜๋ฏธ ํ•ฉ๋‹ˆ๋‹ค.

 

int a = 3;
char firstName = "H";

์—์„œ a ๋‚˜ H ๋Š” ๋ณ€์ˆ˜(๋ณ€์ˆ˜๋ช…)๊ฐ€ ๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๊ทธ ์•ž์— ์ ํžŒ int ์™€ char๊ฐ€ ๋ณ€์ˆ˜์˜ ํ˜•์„ ์ง€์ •ํ•ด์ฃผ๊ณ  ์žˆ๋Š” ๊ฒƒ์ด,
๋ณ€์ˆ˜์˜ ํƒ€์ž…( = data type = ์ž๋ฃŒํ˜• ) ์ด๋ผ ํ•ฉ๋‹ˆ๋‹ค.

์ฆ‰, ์ž๋ฃŒํ˜•์€ 'data์˜ type์— ๋”ฐ๋ผ ๊ฐ’์ด ์ €์žฅ๋  ๊ณต๊ฐ„์˜ ํฌ๊ธฐ์™€ ์ €์žฅ ํ˜•์‹์„ ์ •์˜ํ•œ ๊ฒƒ' ์ด๋ผ๊ณ  ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์ž๋ฃŒํ˜•์€ ๊ธฐ๋ณธํ˜•(primitive type)๊ณผ ์ฐธ์กฐํ˜•(referece type)์œผ๋กœ ๋‚˜๋‰˜๋Š”๋ฐ,
int ๋Š” ์ด ์ค‘ ๊ธฐ๋ณธํ˜•์— ์†ํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธํ˜•์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ข…๋ฅ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

 

 

2) ๊ทธ๋ ‡๋‹ค๋ฉด Integer๋Š” ๋ฌด์—‡์ธ๊ฐ€? (wrapper class)

๋งจ๋‚  ์“ฐ๋˜ Integer์ธ๋ฐ.... ์–ด๋””์— ์ป๋”๋ผ..? ํ•˜๊ณ  ์ƒ๊ฐํ•ด๋ณด๋ฉด ์ฃผ๋กœ

ArrayList<Integer> intList = new ArrayList<Integer>();
	intList.add(1);
	intList.add(2);
	System.out.println(intList.get(0));
	String stringNum = "123";
	int intNum = Integer.parseInt(stringNum);
	System.out.println(intNum);

์ด๋Ÿฐ ๊ฒฝ์šฐ์— ๋งŽ์ด ์“ฐ๊ฑฐ๋‚˜ ๋ดค์—ˆ๊ธฐ์—, 'int๋ž‘ ๋ญ ์‚ฌ์ดŒ... ๊ทธ๋Ÿฐ๊ฑฐ์•„๋‹ˆ์•ผ?' ์ •๋„ ๋กœ๋งŒ ์ƒ๊ฐํ•˜๊ณค ๋ณ„ ์˜์‹ฌ์—†์ด ์‚ฌ์šฉํ•˜๊ณค ํ–ˆ์—ˆ์Šต๋‹ˆ๋‹ค..

**
๋‹ค์‹œ ๋ณธ๋ก ์œผ๋กœ ๊ฐ€์„œ.. Integer๋Š” ๋ฌด์—‡์ธ๊ฐ€ ํ•˜๋ฉด,
1)์—์„œ ๋‹ค๋ฃฌ ๊ธฐ๋ณธํ˜•์„ ํ‘œํ˜„ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๊ฐ์ฒด๋ฅผ ํ•„์š”๋กœ ํ•  ๋•Œ
  • ๊ธฐ๋ณธํ˜• ๊ฐ’์ด ์•„๋‹Œ ๊ฐ์ฒด๋กœ ์ €์žฅํ•ด์•ผํ•  ๋•Œ
  • ๊ฐ์ฒด ๊ฐ„ ๋น„๊ต๊ฐ€ ํ•„์š”ํ•  ๋•Œ

์ด๋Ÿฐ ๊ฒฝ์šฐ ๊ธฐ๋ณธํ˜•์„ ๊ฐ์ฒด๋กœ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ํด๋ž˜์Šค๋“ค์„ ๋ž˜ํผ ํด๋ž˜์Šค(wrapper class)๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค.
๊ทธ๋ฆฌ๊ณ  Integer๋Š” int์˜ ๋ ˆํผํด๋ ˆ์Šค ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  ๊ธฐ๋ณธํ˜•์€ ๋ž˜ํผํด๋ž˜์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๊ณ , ์ด๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค

 

3) ๊ทธ๋ž˜์„œ int์™€ Integer๋Š” ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ๊ฑฐ์ง€?

int : ์ž๋ฃŒํ˜•(primitive type)

  • ์‚ฐ์ˆ  ์—ฐ์‚ฐ ๊ฐ€๋Šฅํ•จ
  • null๋กœ ์ดˆ๊ธฐํ™” ๋ถˆ๊ฐ€

Integer : ๋ž˜ํผ ํด๋ž˜์Šค (Wrapper class)

  • Unboxingํ•˜์ง€ ์•Š์„ ์‹œ ์‚ฐ์ˆ  ์—ฐ์‚ฐ ๋ถˆ๊ฐ€๋Šฅํ•จ
  • null๊ฐ’ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ

**
boxing : primitive type -> wrapper class ๋ณ€ํ™˜ ( int to Integer )
unboxing : wrapper class -> primitive type ๋ณ€ํ™˜ ( Integer to int )

์œผ๋กœ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

 

์›๋ฌธ: https://velog.io/@hadoyaji/int%EC%99%80-Integer%EB%8A%94-%EB%AC%B4%EC%97%87%EC%9D%B4-%EB%8B%A4%EB%A5%B8%EA%B0%80

 

๋ฐ˜์‘ํ˜•