primitive type๊ณผ wrapper class

 ๐Ÿ’ก Java์—์„œ ์ฃผ๋กœ ์‚ฌ์šฉ๋˜๋Š” Primitive Type๊ณผ Wrapper Class์— ๋Œ€ํ•˜์—ฌ ํ•™์Šตํ•˜์˜€๊ณ , Kotlin์—์„œ๋Š” ์–ด๋–ป๊ฒŒ ์ ์šฉ๋˜๋Š”์ง€ ํ•™์Šตํ•˜์˜€์Šต๋‹ˆ๋‹ค.

 

Primitive Type

  • ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ ํƒ€์ž…์€ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž…์œผ๋กœ, ๊ฐ€์žฅ ๋‹จ์ˆœํ•œ ํ˜•ํƒœ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.
  • ๋ฉ”๋ชจ๋ฆฌ ํšจ์œจ์ ์ด๋ฉฐ, ์ง์ ‘ ๊ฐ’์„ ์ €์žฅํ•œ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋˜ํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ฃผ์†Œ๋ฅผ ์ฐธ์กฐํ•˜์ง€ ์•Š๊ณ  ์ง์ ‘ ๊ฐ’์„ ๋‹ค๋ฃจ๋ฏ€๋กœ ๋” ๋น ๋ฅด๋‹ค๋Š” ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • Java์—์„œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ ํƒ€์ž…์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    • Int, Boolean, Char, Byte, Short, Long, Float, Double…
  • ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ ํƒ€์ž…์—๋Š” ๊ธฐ๋ณธ ๊ฐ’์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค.
    • Int - 0, Boolean - false..

Wrapper Class

  • ๋ž˜ํผ ํด๋ž˜์Šค๋Š” ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ ํƒ€์ž…์„ ๊ฐ์ฒด๋กœ ๋‹ค๋ฃฐ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค.
  • Java์—์„œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์€ ๋ž˜ํผ ํด๋ž˜์Šค๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
    • Integer, Boolean, Character, Byte, Short, Long, Float, Double..

๋ž˜ํผ ํด๋ž˜์Šค์˜ ํŠน์ง•

  • [๊ฐ์ฒด] ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ ํƒ€์ž…์„ ๊ฐ์ฒด๋กœ ํฌ์žฅํ•˜์—ฌ ๋‹ค๋ฃน๋‹ˆ๋‹ค.
  • [๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ] ๊ฐ์ฒด๋กœ์„œ์˜ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋” ๋งŽ์ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • [์œ ํ‹ธ๋ฆฌํ‹ฐ ๋ฉ”์„œ๋“œ] ๊ฐ’ ๋ณ€ํ™˜, ๋น„๊ต, ํ•ด์‹œ์ฝ”๋“œ ์ƒ์„ฑ ๋“ฑ์˜ ์œ ํ‹ธ๋ฆฌํ‹ฐ ๋ฉ”์„œ๋“œ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • [Nullable] ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ ํƒ€์ž…์€ null์„ ๊ฐ€์งˆ ์ˆ˜ ์—†์ง€๋งŒ, ๋ž˜ํผ ํด๋ž˜์Šค๋Š” null์„ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Java์—์„œ์˜ Primitive, Wrapper

public class Main {
    public static void main(String[] args) {
        // Primitive type
        int primitiveInt = 5;
        System.out.println("Primitive int: " + primitiveInt);

        // Wrapper class
        Integer wrapperInt = Integer.valueOf(5);
        System.out.println("Wrapper Integer: " + wrapperInt);

        // Nullability
        Integer nullableInt = null;
        System.out.println("Nullable Integer: " + nullableInt);
    }
}
  • ์ž๋ฐ”์—์„œ๋Š” ์œ„์™€ ๊ฐ™์ด ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ ํƒ€์ž…๊ณผ ๋ž˜ํผ ํด๋ž˜์Šค๋ฅผ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ž˜ํผ ํด๋ž˜์Šค๋งŒ nullableํ•œ ๊ฐ์ฒด๋กœ ์„ ์–ธํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ฐจ์ด์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

Kotlin์—์„œ์˜ Primitive, Wrapper

  • kotlin์—์„œ๋Š” Java์™€ ๋‹ค๋ฅด๊ฒŒ ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ ํƒ€์ž…๊ณผ ๋ž˜ํผ ํด๋ž˜์Šค์˜ ๊ตฌ๋ถ„์ด ๊ฑฐ์˜ ์—†์œผ๋ฉฐ, ํƒ€์ž… ์‹œ์Šคํ…œ์ด ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • Kotlin์—์„œ ๋ชจ๋“  ๊ฒƒ์ด ๊ฐ์ฒด๋กœ ๋‹ค๋ค„์ง€์ง€๋งŒ, ์ปดํŒŒ์ผ๋Ÿฌ๊ฐ€ ์ตœ์ ํ™”๋ฅผ ํ†ตํ•ด ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ ํƒ€์ž…์„ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.
fun main() {
    // Primitive type
    val primitiveInt: Int = 5
    println("Primitive int: $primitiveInt")

    // Nullable type
    val nullableInt: Int? = null
    println("Nullable Int: $nullableInt")

    // Kotlin automatically handles boxing and unboxing
    val boxedInt: Int? = primitiveInt
    println("Boxed Int: $boxedInt")
}

  • Kotlin์˜ ํƒ€์ž… ์‹œ์Šคํ…œ์€ ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ ํƒ€์ž…๊ณผ ๊ฐ์ฒด ํƒ€์ž…์„ ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๊ฐœ๋ฐœ์ž๊ฐ€ ์ด๋ฅผ ์‹ ๊ฒฝ ์“ธ ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.