Responsive Advertisement

Java ๋ฐ์ดํ„ฐ ํƒ€์ž…: ๊ธฐ๋ณธ ๊ฐœ๋…๊ณผ ํ™œ์šฉ๋ฒ•

Java์—์„œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ๋ณ€์ˆ˜๊ฐ€ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ๊ฐ’์˜ ์ข…๋ฅ˜๋ฅผ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ดํ•ดํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ธฐ๋ณธ์ด๋ฉฐ, ์ฝ”๋“œ์˜ ์•ˆ์ •์„ฑ๊ณผ ์„ฑ๋Šฅ์„ ๋†’์ด๋Š” ๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Java์˜ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž…๊ณผ ๊ฐ ํƒ€์ž…์˜ ํŠน์„ฑ, ๊ทธ๋ฆฌ๊ณ  ๋ณ€์ˆ˜ ์„ ์–ธ ์‹œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์˜ ํ™œ์šฉ๋ฒ•์„ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

Java ๋ฐ์ดํ„ฐ ํƒ€์ž…์˜ ์ข…๋ฅ˜

Java์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ํฌ๊ฒŒ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž…(Primitive Data Types)๊ณผ ์ฐธ์กฐ ๋ฐ์ดํ„ฐ ํƒ€์ž…(Reference Data Types)์œผ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.

1. ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž… (Primitive Data Types)

Java์—๋Š” 8๊ฐ€์ง€์˜ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž…์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํƒ€์ž…์€ ๋ฉ”๋ชจ๋ฆฌ์— ๊ณ ์ •๋œ ํฌ๊ธฐ๋ฅผ ์ฐจ์ง€ํ•˜๋ฉฐ, ํ”„๋กœ๊ทธ๋žจ์˜ ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • ์ •์ˆ˜ํ˜•: byte, short, int, long
  • ์‹ค์ˆ˜ํ˜•: float, double
  • ๋ฌธ์žํ˜•: char
  • ๋…ผ๋ฆฌํ˜•: boolean

2. ์ฐธ์กฐ ๋ฐ์ดํ„ฐ ํƒ€์ž… (Reference Data Types)

์ฐธ์กฐ ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ๊ฐ์ฒด์˜ ์ฐธ์กฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋ฐฐ์—ด, ํด๋ž˜์Šค, ์ธํ„ฐํŽ˜์ด์Šค ๋“ฑ์ด ์ฐธ์กฐ ํƒ€์ž…์— ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ธ€์—์„œ๋Š” ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž…์— ์ค‘์ ์„ ๋‘์–ด ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž…์˜ ํŠน์ง•

1. ์ •์ˆ˜ํ˜• ๋ฐ์ดํ„ฐ ํƒ€์ž…

์ •์ˆ˜ํ˜• ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ์ •์ˆ˜๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋ฉฐ, ํƒ€์ž…์— ๋”ฐ๋ผ ์ €์žฅ ๊ฐ€๋Šฅํ•œ ๊ฐ’์˜ ๋ฒ”์œ„๊ฐ€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

ํƒ€์ž… ํฌ๊ธฐ ๊ฐ’์˜ ๋ฒ”์œ„
byte 1๋ฐ”์ดํŠธ -128 ~ 127
short 2๋ฐ”์ดํŠธ -32,768 ~ 32,767
int 4๋ฐ”์ดํŠธ -2,147,483,648 ~ 2,147,483,647
long 8๋ฐ”์ดํŠธ -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807

์˜ˆ์ œ ์ฝ”๋“œ

public class IntegerExample {
    public static void main(String[] args) {
        byte smallNumber = 100;
        int mediumNumber = 50000;
        long largeNumber = 10000000000L; // L ์ ‘๋ฏธ์‚ฌ ํ•„์š”

        System.out.println("byte: " + smallNumber);
        System.out.println("int: " + mediumNumber);
        System.out.println("long: " + largeNumber);
    }
}

2. ์‹ค์ˆ˜ํ˜• ๋ฐ์ดํ„ฐ ํƒ€์ž…

์‹ค์ˆ˜ํ˜• ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ์†Œ์ˆ˜์ ์„ ํฌํ•จํ•˜๋Š” ์ˆซ์ž๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. float์™€ double ํƒ€์ž…์ด ์žˆ์œผ๋ฉฐ, ์ •ํ™•๋„์™€ ์ €์žฅ ๋ฒ”์œ„๊ฐ€ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

ํƒ€์ž… ํฌ๊ธฐ ์„ค๋ช…
float 4๋ฐ”์ดํŠธ ์†Œ์ˆ˜์  ์ดํ•˜ ์•ฝ 7์ž๋ฆฌ์˜ ์ •ํ™•๋„
double 8๋ฐ”์ดํŠธ ์†Œ์ˆ˜์  ์ดํ•˜ ์•ฝ 15์ž๋ฆฌ์˜ ์ •ํ™•๋„

์˜ˆ์ œ ์ฝ”๋“œ

public class FloatDoubleExample {
    public static void main(String[] args) {
        float pi = 3.14F; // F ์ ‘๋ฏธ์‚ฌ ํ•„์š”
        double e = 2.718281828459045;

        System.out.println("float: " + pi);
        System.out.println("double: " + e);
    }
}

3. ๋ฌธ์žํ˜• ๋ฐ์ดํ„ฐ ํƒ€์ž…

char ํƒ€์ž…์€ ๋‹จ์ผ ๋ฌธ์ž๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋ฉฐ, ์œ ๋‹ˆ์ฝ”๋“œ ๋ฌธ์ž๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

public class CharExample {
    public static void main(String[] args) {
        char letter = 'A';
        char unicodeChar = '\u0041'; // 'A'์˜ ์œ ๋‹ˆ์ฝ”๋“œ

        System.out.println("char: " + letter);
        System.out.println("์œ ๋‹ˆ์ฝ”๋“œ char: " + unicodeChar);
    }
}

์ถœ๋ ฅ ๊ฒฐ๊ณผ:

char: A
์œ ๋‹ˆ์ฝ”๋“œ char: A

4. ๋…ผ๋ฆฌํ˜• ๋ฐ์ดํ„ฐ ํƒ€์ž…

boolean ํƒ€์ž…์€ true ๋˜๋Š” false ๋‘ ๊ฐ€์ง€ ๊ฐ’๋งŒ ๊ฐ€์งˆ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์กฐ๊ฑด๋ฌธ๊ณผ ๋…ผ๋ฆฌ ์—ฐ์‚ฐ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

public class BooleanExample {
    public static void main(String[] args) {
        boolean isJavaFun = true;
        boolean isFishTasty = false;

        System.out.println("Java๋Š” ์žฌ๋ฏธ์žˆ๋‹ค: " + isJavaFun);
        System.out.println("๋ฌผ๊ณ ๊ธฐ๋Š” ๋ง›์žˆ๋‹ค: " + isFishTasty);
    }
}

๋ฐ์ดํ„ฐ ํƒ€์ž… ๋ณ€ํ™˜

Java์—์„œ๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž… ๋ณ€ํ™˜์ด ํ•„์š”ํ•  ๋•Œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ํƒ€์ž… ๋ณ€ํ™˜์€ ๋ฌต์‹œ์ (์ž๋™) ๋ณ€ํ™˜๊ณผ ๋ช…์‹œ์ (๊ฐ•์ œ) ๋ณ€ํ™˜์œผ๋กœ ๋‚˜๋‰ฉ๋‹ˆ๋‹ค.

๋ฌต์‹œ์  ๋ณ€ํ™˜ (์ž๋™ ๋ณ€ํ™˜)

Java๋Š” ์ž‘์€ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ํฐ ๋ฐ์ดํ„ฐ ํƒ€์ž…์œผ๋กœ ์ž๋™ ๋ณ€ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

int num = 10;
double result = num; // ์ž๋™ ๋ณ€ํ™˜ (int → double)
System.out.println("์ž๋™ ๋ณ€ํ™˜๋œ ๊ฐ’: " + result);

๋ช…์‹œ์  ๋ณ€ํ™˜ (๊ฐ•์ œ ๋ณ€ํ™˜)

ํฐ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ์ž‘์€ ๋ฐ์ดํ„ฐ ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ํ•  ๋•Œ๋Š” ๋ฐ์ดํ„ฐ ์†์‹ค์„ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋ช…์‹œ์ ์œผ๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

double largeNumber = 9.78;
int integerPart = (int) largeNumber; // ๊ฐ•์ œ ๋ณ€ํ™˜ (double → int)
System.out.println("๊ฐ•์ œ ๋ณ€ํ™˜๋œ ๊ฐ’: " + integerPart);

๋ณ€์ˆ˜ ์„ ์–ธ๊ณผ ์ดˆ๊ธฐํ™”

Java์—์„œ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ๋Š” ๋ฐ์ดํ„ฐ ํƒ€์ž…๊ณผ ๋ณ€์ˆ˜๋ช…์„ ์ง€์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋ณ€์ˆ˜๋Š” ์„ ์–ธ๊ณผ ๋™์‹œ์— ์ดˆ๊ธฐํ™”ํ•  ์ˆ˜๋„ ์žˆ๊ณ , ๋‚˜์ค‘์— ์ดˆ๊ธฐํ™”ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

int a; // ์„ ์–ธ
a = 5; // ์ดˆ๊ธฐํ™”

double b = 3.14; // ์„ ์–ธ๊ณผ ๋™์‹œ์— ์ดˆ๊ธฐํ™”

๊ฒฐ๋ก 

Java์˜ ๋ฐ์ดํ„ฐ ํƒ€์ž…์€ ํ”„๋กœ๊ทธ๋žจ์ด ์ฒ˜๋ฆฌํ•  ๋ฐ์ดํ„ฐ๋ฅผ ์ •์˜ํ•˜๊ณ  ๋‹ค๋ฃจ๋Š” ๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ๋ฐ์ดํ„ฐ ํƒ€์ž…์˜ ํŠน์„ฑ๊ณผ ์ €์žฅ ๊ฐ€๋Šฅํ•œ ๊ฐ’์˜ ๋ฒ”์œ„๋ฅผ ์ž˜ ์ดํ•ดํ•˜๊ณ  ์‚ฌ์šฉํ•˜๋ฉด ํšจ์œจ์ ์ด๊ณ  ์•ˆ์ „ํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ ์„ค๋ช…ํ•œ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ํƒ€์ž…๊ณผ ์˜ˆ์ œ๋ฅผ ํ†ตํ•ด Java ํ”„๋กœ๊ทธ๋ž˜๋ฐ์˜ ๊ธฐ์ดˆ๋ฅผ ํƒ„ํƒ„ํžˆ ๋‹ค์ ธ ๋ณด์„ธ์š”!

๋Œ“๊ธ€ ์“ฐ๊ธฐ