๐ก 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์ ํ์ ์์คํ ์ ํ๋ฆฌ๋ฏธํฐ๋ธ ํ์ ๊ณผ ๊ฐ์ฒด ํ์ ์ ์๋์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ๋๋ฌธ์, ๊ฐ๋ฐ์๊ฐ ์ด๋ฅผ ์ ๊ฒฝ ์ธ ํ์๊ฐ ์์ต๋๋ค.