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

     

    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

     

    ๋ฐ˜์‘ํ˜•

    '๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป JAVA' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

    [java]Deep copy์™€ Shallow copy  (0) 2022.07.22

    ๋Œ“๊ธ€