Life/Study

[Java] 2๊ฐ•. Java ๊ธฐ๋ณธ ๋ฌธ๋ฒ•(1)

๋ชฌ์กฐ 2025. 4. 7. 23:27

๊ฐ•์˜ 2๊ฐ• ์ง„์ž…๐Ÿ˜ฎ‍๐Ÿ’จ 

01. ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ ๊ธฐ๋ณธ ์‚ฌํ•ญ

1. Java ํ”„๋กœ๊ทธ๋žจ์˜ ์ž‘์„ฑ

  1๏ธโƒฃ Java ํ”„๋กœ๊ทธ๋žจ ์˜ˆ - 1

     โžก๏ธ 2๊ฐœ์˜ ํด๋ž˜์Šค

  2๏ธโƒฃ Java ํ”„๋กœ๊ทธ๋žจ ์˜ˆ - 2

     โžก๏ธ 1๊ฐœ์˜ ํด๋ž˜์Šค
2. ์‹๋ณ„์ž
  1๏ธโƒฃ ์‹๋ณ„์ž
     โžก๏ธ ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ์ž‘๋ช…ํ•˜๋Š” ์ด๋ฆ„
     โžก๏ธ ํด๋ž˜์Šค, ๋ณ€์ˆ˜, ๋ฉ”์†Œ๋“œ, ๋ ˆ์ด๋ธ” ๋“ฑ์˜ ์ด๋ฆ„
  2๏ธโƒฃ ์‹๋ณ„์ž ์ž‘๋ช… ๊ทœ์น™
     โžก๏ธ ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„, ๊ธธ์ด์— ์ œํ•œ ์—†์Œ
     โžก๏ธ ์˜ ๋Œ€์†Œ๋ฌธ์ž, ํ•œ๊ธ€, ์ˆซ์ž, ‘_’, ‘$’ ๋ฅผ ์‚ฌ์šฉ
     โžก๏ธ ์ˆซ์ž๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†์Œ
     โžก๏ธ ํ‚ค์›Œ๋“œ, true, false, null ์€ ๋ถˆ๊ฐ€
     โžก๏ธ ์ž˜๋ชป ์ž‘๋ช…๋œ ์‹๋ณ„์ž์˜ ์˜ˆ
         โœ… 2002WorldCup, my#class
         โœ… class, World Cup, lee@knou
  3๏ธโƒฃ ์‹๋ณ„์ž๋ฅผ ๋งŒ๋“ค ๋•Œ์˜ ๊ด€๋ก€
     โžก๏ธ ํด๋ž˜์Šค: ์ฒซ ์ž๋Š” ๋Œ€๋ฌธ์ž! ๋‹จ์–ด์˜ ์ฒซ ๊ธ€์ž๋Š” ๋Œ€๋ฌธ์ž, ๋‚˜๋จธ์ง€๋Š” ์†Œ๋ฌธ์ž
     โžก๏ธ ๋ฉ”์†Œ๋“œ, ๋ณ€์ˆ˜(ํ•„๋“œ): ์œ„์™€ ๊ฐ™์œผ๋‚˜ ์ฒซ ๊ธ€์ž๊ฐ€ ์†Œ๋ฌธ์ž(์นด๋ฉœํ‘œ๊ธฐ๋ฒ•)
     โžก๏ธ ์ƒ์ˆ˜: ๋ชจ๋“  ๋ฌธ์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ ํ‘œ๊ธฐํ•˜๊ณ , ๋‹จ์–ด ์‚ฌ์ด์— ‘_’๋ฅผ ๋„ฃ์–ด ๊ตฌ๋ถ„
         โœ… static final int NUM_GEARS = 6;
     โžก๏ธ ๋ณ€์ˆ˜์˜ ๊ฒฝ์šฐ ์ž๋ฃŒํ˜•์„ ํ‘œ์‹œํ•˜๊ธฐ ์œ„ํ•œ ์ ‘๋‘์–ด๋ฅผ ๋ถ™์ด๊ธฐ๋„ํ•จ (ํ—๊ฐ€๋ฆฌ์•ˆํ‘œ๊ธฐ๋ฒ•)
         โœ… int nSpeed; String szStr1;
4๏ธโƒฃ ํ‚ค์›Œ๋“œ (์˜ˆ์•ฝ์–ด?)
     โžก๏ธ ์˜๋ฏธ๊ฐ€ ๋ฏธ๋ฆฌ ์ •ํ•ด์ง„ ๋‹จ์–ด
     โžก๏ธ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ •ํ•ด์ง„ ์˜๋ฏธ๋กœ๋งŒ ์‚ฌ์šฉํ•ด์•ผ ํ•จ


์œผ์•—! ๋“œ๋””์–ด 2๊ฐ• ๋Œ์ž…! ๐Ÿ˜ค๐Ÿ”ฅ

์ฝ”๋“œ๋„ ๊ธธ์–ด์ง€๊ณ , ์šฉ์–ด๋„ ๋งŽ์•„์ง€๊ณ , ์„ค๋ช…์€ ์• ๋งคํ•œ๋ฐ…

๋จธ๋ฆฌ๋Š” ๋ณต์žกํ•ด์ง€๊ณ , ์†์€ ๋ฉˆ์ถ”๊ณ …

 

“Grade๊ฐ€ ์™œ ๋‘˜์ด๊ณ , ์ €๋ ‡๊ฒŒ๋„ ๋˜๊ณ  ์ €๋ ‡๊ฒŒ๋„ ๋˜๋ฉด ๋ญ ์–ด์ฉŒ๋ž€ ๊ฑด๋ฐ์š”?๐Ÿ˜ญ”

 

์ž~ ์ž~ ๊ฑฑ์ • ๋ถ™๋“ค์–ด ๋งค๊ณ !!

์ด์ œ ๋‚ด๊ฐ€ ์ž๋ฐ”์˜ ํ•ต์‹ฌ ๊ฐœ๋…์„ ๋˜! โœจRPG ๊ฒŒ์ž„ ์„ธ๊ณ„๊ด€ + ์ง„์งœ ์‰ฌ์šด ๋งโœจ๋กœ

๋จธ๋ฆฌ์— ๋ฐ•ํžˆ๊ฒŒ ์ •๋ฆฌํ•ด์ค„๊ฒŒ!

 

๐Ÿ’ก 2๊ฐ• ํ•ต์‹ฌ ์š”์•ฝ (์ดˆ์‹ฌ์ž + RPG + ๋งฅ ์œ ์ € ์‹œ์  ํŽธ์ง‘๋ณธ)

 

 

๐ŸŒŸ 01. ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์˜ ๊ธฐ๋ณธ ๊ตฌ์กฐ → “๋‚ด ์บ๋ฆญํ„ฐ(๊ฐ์ฒด) ๋งŒ๋“ค๊ธฐ + ํ–‰๋™์‹œํ‚ค๊ธฐ”

โœ… ํ”„๋กœ๊ทธ๋žจ ์˜ˆ์ œ 1๏ธโƒฃ : ํด๋ž˜์Šค๊ฐ€ 2๊ฐœ์ธ ๊ฒฝ์šฐ

class Grade {
    int e; // ์˜์–ด ์ ์ˆ˜
    int m; // ์ˆ˜ํ•™ ์ ์ˆ˜

    void input_grade(int a, int b) {
        e = a;
        m = b;
    }

    void output_grade() {
        System.out.println(e + m);
    }
}

public class GradeOutput {
    public static void main(String args[]) {
        Grade g1, g2;
        g1 = new Grade();  // ๊ฐ์ฒด ์†Œํ™˜
        g2 = new Grade();  // ๋˜ ํ•˜๋‚˜ ์†Œํ™˜

        g1.input_grade(90, 85);  // ์ ์ˆ˜ ์ž…๋ ฅ
        g2.input_grade(80, 80);  // ์ ์ˆ˜ ์ž…๋ ฅ

        g1.output_grade();       // ์ถœ๋ ฅ: 175
        g2.output_grade();       // ์ถœ๋ ฅ: 160
    }
}

 

๐ŸŽฎ RPG ๋น„์œ :

  • Grade → ์บ๋ฆญํ„ฐ ํด๋ž˜์Šค (์ง์—… ์„ค๊ณ„๋„)
  • g1, g2 → ์†Œํ™˜๋œ ์บ๋ฆญํ„ฐ ๋‘ ๋ช…!
  • ๊ฐ๊ฐ ์ ์ˆ˜๋ฅผ ๊ฐ–๊ณ  ์žˆ๊ณ , input_grade()๋กœ ์„ธํŒ…ํ•ด์„œ output_grade()๋กœ ํ•ฉ๊ณ„ ์ถœ๋ ฅ!

 

 

โœ… ํ”„๋กœ๊ทธ๋žจ ์˜ˆ์ œ 2๏ธโƒฃ : ํด๋ž˜์Šค๊ฐ€ 1๊ฐœ์ธ ๊ฒฝ์šฐ

public class GradeOutput {
    int e;
    int m;

    void input_grade(int a, int b) {
        e = a;
        m = b;
    }

    void output_grade() {
        System.out.println(e + m);
    }

    public static void main(String args[]) {
        GradeOutput g1, g2;
        g1 = new GradeOutput();  // ๊ฐ์ฒด ์ƒ์„ฑ
        g2 = new GradeOutput();

        g1.input_grade(90, 85);
        g2.input_grade(80, 80);

        g1.output_grade();  // ์ถœ๋ ฅ: 175
        g2.output_grade();  // ์ถœ๋ ฅ: 160
    }
}

 

๐Ÿ” ์ฐจ์ด์ ์€?

๋น„๊ต ์˜ˆ์ œ 1๏ธโƒฃ ์˜ˆ์ œ 2๏ธโƒฃ
ํด๋ž˜์Šค ์ˆ˜ 2๊ฐœ (Grade, GradeOutput) 1๊ฐœ (GradeOutput)
์—ญํ•  ๋ถ„๋ฆฌ Grade๋Š” ์„ฑ์  ๊ด€๋ จ, GradeOutput์€ ์‹คํ–‰ ๋‹ด๋‹น ์„ฑ์  ๊ด€๋ฆฌ + ์‹คํ–‰ ๋‹ค ํ•œ ํด๋ž˜์Šค ์•ˆ์—
๊ฐ์ฒด ํƒ€์ž… Grade ํƒ€์ž… ๊ฐ์ฒด ์ƒ์„ฑ GradeOutput ํƒ€์ž… ๊ฐ์ฒด ์ƒ์„ฑ

๐Ÿ“Œ ๋‘˜ ๋‹ค ์ •๋‹ต์ด์ง€๋งŒ, ์˜ˆ์ œ1์ฒ˜๋Ÿผ ํด๋ž˜์Šค ์—ญํ• ์„ ๋‚˜๋ˆ„๋Š” ๊ฒŒ ๋” ๊น”๋”ํ•˜๊ณ  ์žฌ์‚ฌ์šฉ์„ฑ ์ข‹์Œ!

→ RPG๋กœ ์น˜๋ฉด ์ „์‚ฌ, ๋งˆ๋ฒ•์‚ฌ ์—ญํ•  ๋”ฐ๋กœ ๋‚˜๋ˆˆ ๊ฒƒ์ฒ˜๋Ÿผ!

 

 

๐Ÿ†” 02. ์‹๋ณ„์ž๋ž€?

 

์šฐ๋ฆฌ๊ฐ€ ์ฝ”๋“œ์— ์ด๋ฆ„ ๋ถ™์ด๋Š” ๊ฒƒ! ์ด๋ฆ„ ๊ทœ์น™์ด ์žˆ๋‹ค๋Š” ๊ฑฐ์•ผ!

 

 

โœ… ์‹๋ณ„์ž = ์ด๋ฆ„ ๋ถ™์ด๊ธฐ (์บ๋ฆญํ„ฐ ์ด๋ฆ„, ์Šคํ‚ฌ ์ด๋ฆ„ ๊ฐ™์€ ๊ฑฐ)

 

์“ฐ์ž„์ƒˆ ์˜ˆ์‹œ
ํด๋ž˜์Šค ์ด๋ฆ„ GradeOutput
๋ณ€์ˆ˜ ์ด๋ฆ„ g1, e, m
๋ฉ”์„œ๋“œ ์ด๋ฆ„ input_grade(), output_grade()

 

 

 

โœ… ์‹๋ณ„์ž ์ž‘๋ช… ๊ทœ์น™ (์ •๋ฆฌ์ •๋ฆฌ!)

๊ทœ์น™ ์„ค๋ช…
๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ํ•จ Cat๊ณผ cat์€ ๋‹ค๋ฆ„!
์ˆซ์ž๋กœ ์‹œ์ž‘ โŒ 2002WorldCup ← โŒ
๋„์–ด์“ฐ๊ธฐ โŒ World Cup ← โŒ
ํŠน์ˆ˜๋ฌธ์ž โŒ my#class, lee@knou ← โŒ
ํ‚ค์›Œ๋“œ ๊ธˆ์ง€ class, int, null, true ← ์ด๋ฏธ ์˜ˆ์•ฝ๋จ โŒ

 

 

 

๐Ÿง™ ์ž‘๋ช… ์Šคํƒ€์ผ (๊ด€๋ก€)

 

์ข…๋ฅ˜ ์˜ˆ์‹œ ์„ค๋ช…
ํด๋ž˜์Šค GradeOutput ์ฒซ ๊ธ€์ž ๋Œ€๋ฌธ์ž, ๋‹จ์–ด๋งˆ๋‹ค ๋Œ€๋ฌธ์ž
๋ณ€์ˆ˜/๋ฉ”์„œ๋“œ inputGrade, totalScore ์ฒซ ๊ธ€์ž ์†Œ๋ฌธ์ž, ๋‚˜๋จธ์ง€๋Š” ๋‹จ์–ด๋งˆ๋‹ค ๋Œ€๋ฌธ์ž (์นด๋ฉœ ํ‘œ๊ธฐ๋ฒ•)
์ƒ์ˆ˜ MAX_HP, NUM_GEARS ์ „๋ถ€ ๋Œ€๋ฌธ์ž, ๋‹จ์–ด ์‚ฌ์ด _
๐Ÿ’ก ์ฐธ๊ณ : int nScore; ์ฒ˜๋Ÿผ ์ž๋ฃŒํ˜• ์ ‘๋‘์–ด ๋ถ™์ด๊ธฐ๋„ ํ•˜๋Š” ๊ฑธ ํ—๊ฐ€๋ฆฌ์•ˆ ํ‘œ๊ธฐ๋ฒ•์ด๋ผ๊ณ  ํ•ด

 

 

๐Ÿ’ฌ ์ •๋ฆฌํ•˜๋ฉด?

  • ์‹๋ณ„์ž๋Š” ์ฝ”๋“œ์— ๋ถ™์ด๋Š” ์ด๋ฆ„
  • ๊ทœ์น™ ์•ˆ ์ง€ํ‚ค๋ฉด ์ปดํŒŒ์ผ ์—๋Ÿฌ!
  • ๊ด€๋ก€๋Š” ๊ผญ ์ง€ํ‚ค์ง„ ์•Š์•„๋„ ์ข‹์ง€๋งŒ, ์ง€ํ‚ค๋ฉด ๊ฐ€๋…์„ฑ + ํŒ€์ž‘์—…์— ์ข‹์Œ

 

 

๐Ÿ’ฅ ์š”์•ฝ ํํ!

๊ฐœ๋… ์‰ฝ๊ฒŒ ๋งํ•˜๋ฉด RPG์‹ ํ•ด์„
ํด๋ž˜์Šค ์„ค๊ณ„๋„ ์ง์—… ๋„๊ฐ
๊ฐ์ฒด ํด๋ž˜์Šค์—์„œ ๋งŒ๋“ค์–ด์ง„ ์‹ค์ฒด ์ƒ์„ฑ๋œ ์บ๋ฆญํ„ฐ
๋ฉ”์„œ๋“œ ํ–‰๋™ ํ•จ์ˆ˜ ์Šคํ‚ฌ์ด๋‚˜ ํ–‰๋™
์‹๋ณ„์ž ์ด๋ฆ„ ๋ถ™์ด๊ธฐ ์บ๋ฆญํ„ฐ ์ด๋ฆ„, ์Šคํ‚ฌ ์ด๋ฆ„ ๊ฐ™์€ ๊ฒƒ
์ž‘๋ช… ๊ทœ์น™ ๊ธˆ์ง€์–ด, ๋Œ€์†Œ๋ฌธ์ž ๊ตฌ๋ถ„ ๋“ฑ ์ž˜๋ชป๋œ ์ด๋ฆ„์€ ์—๋Ÿฌ๋กœ ์ด์–ด์ง! โŒ

 

 

 

๐Ÿ“ฃ ๋‹ค์Œ ์‹ค์Šตํ•  ๋•Œ ํŒ!

  • Eclipse์—์„œ ์œ„ ์ฝ”๋“œ ๊ทธ๋Œ€๋กœ ์น˜๋ฉด bin ํด๋”์— .class ์ƒ๊น€
  • ๋งฅ ํ„ฐ๋ฏธ๋„์—์„œ cd ~/eclipse-workspace/ํ”„๋กœ์ ํŠธ๋ช…/bin ๊ฐ€์„œ ์‹คํ–‰ ๊ฐ€๋Šฅ!
  • ํด๋ž˜์Šค ์ด๋ฆ„์ด๋ž‘ ํŒŒ์ผ ์ด๋ฆ„์ด ๊ผญ ๊ฐ™์•„์•ผ ํ•จ! → GradeOutput.java ์•ˆ์—” public class GradeOutput์ด ์žˆ์–ด์•ผ ๋ผ!

02. ์ž๋ฃŒํ˜•
1. ๋ณ€์ˆ˜์˜ ์ข…๋ฅ˜์™€ ์ž๋ฃŒํ˜•
  1๏ธโƒฃ ๋ณ€์ˆ˜์™€ ์ž๋ฃŒํ˜•
     โžก๏ธ ๋ณ€์ˆ˜๋ฅผ ์„ ์–ธํ•  ๋•Œ, ์ €์žฅ๋˜๋Š” ๊ฐ’์˜ ์ž๋ฃŒํ˜•์„ ์„ ์–ธ
     โžก๏ธ ๋ฉ”์†Œ๋“œ๋ฅผ ์„ ์–ธํ•  ๋•Œ, ํŒŒ๋ผ๋ฏธํ„ฐ์™€ ๋ฐ˜ํ™˜ ๊ฐ’์˜ ์ž๋ฃŒํ˜•์„ ์„ ์–ธ
     โžก๏ธ ์ž๋ฃŒํ˜•์— ๋”ฐ๋ผ ์ ์šฉ ๊ฐ€๋Šฅํ•œ ์—ฐ์‚ฐ์ด ๋‹ค๋ฆ„
  2๏ธโƒฃ ๋ณ€์ˆ˜์˜ ์ข…๋ฅ˜
     โžก๏ธ ๋ฐ์ดํ„ฐ ํ•„๋“œ - ์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜: ํด๋ž˜์Šค ์ •์˜์—์„œ non-static ํ•„๋“œ, ๊ฐœ๋ณ„ ๊ฐ์ฒด๊ฐ€ ์†Œ์œ ํ•œ ๋ณ€์ˆ˜ / ํด๋ž˜์Šค ๋ณ€์ˆ˜: ํด๋ž˜์Šค ์ •์˜์—์„œ static ํ•„๋“œ, ๋™์ข… ๊ฐ์ฒด ๊ฐ„ ๊ณต์œ  ๋ณ€์ˆ˜(์ •์  ๋ณ€์ˆ˜)
     โžก๏ธ ์ง€์—ญ ๋ณ€์ˆ˜ - ๋ฉ”์†Œ๋“œ ๋‚ด๋ถ€(๋˜๋Š” ๋ธ”๋ก ๋‚ด๋ถ€)์—์„œ ์„ ์–ธ๋œ ๋ณ€์ˆ˜
     โžก๏ธ ํŒŒ๋ผ๋ฏธํ„ฐ - ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ ์‹œ ์ „๋‹ฌํ•˜๋Š” ๊ฐ’์„ ์ €์žฅํ•˜๊ธฐ ์œ„ํ•œ ๋ณ€์ˆ˜

2. ๋ณ€์ˆ˜์˜ ์‚ฌ์šฉ ๋ฒ”์œ„
  1๏ธโƒฃ ์ง€์—ญ ๋ณ€์ˆ˜์™€ ํŒŒ๋ผ๋ฏธํ„ฐ
     โžก๏ธ ์„ ์–ธ๋œ ๊ณณ๋ถ€ํ„ฐ ํ•ด๋‹น ๋ธ”๋ก์ด ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ์œ ํšจํ•จ
         โœ…๋ฉ”์†Œ๋“œ๊ฐ€ ์‹คํ–‰๋  ๋•Œ ๋งŒ๋“ค์–ด์ง€๊ณ  ์ข…๋ฃŒ๋˜๋ฉด ์—†์–ด์ง
     โžก๏ธ ์ง€์—ญ ๋ณ€์ˆ˜๋Š” ์ดˆ๊ธฐ๊ฐ’์„ ์ง€์ •ํ•œ ํ›„ ์‚ฌ์šฉํ•ด์•ผ ํ•จ
     โžก๏ธ ์ง€์—ญ ๋ณ€์ˆ˜ ์„ ์–ธ์—์„œ๋Š” ์ ‘๊ทผ ์ œ์–ด์ž๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ
  2๏ธโƒฃ ๋ฐ์ดํ„ฐ ํ•„๋“œ(์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜ or ํด๋ž˜์Šค ๋ณ€์ˆ˜)
     โžก๏ธ ์„ ์–ธ๋œ ํด๋ž˜์Šค ๋‚ด๋ถ€์—์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
     โžก๏ธ ํด๋ž˜์Šค ์™ธ๋ถ€์—์„œ์˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ์—ฌ๋ถ€๋Š” ์ ‘๊ทผ ์ œ์–ด์ž(acess modifier)์— ๋”ฐ๋ผ ๋‹ค๋ฆ„
     โžก๏ธ ์˜ˆ: class Circle { protected int radius; … }

3. Java์˜ ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•
  1๏ธโƒฃ Java์˜ ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•๊ณผ ํ‚ค์›Œ๋“œ
     โžก๏ธ ๋ฌธ์ž(ํ‚ค์›Œ๋“œ:char, byte๊ธธ์ด:2), ๋…ผ๋ฆฌ(boolean, 1 byte), ์ •์ˆ˜(byte, short, int, long), ์‹ค์ˆ˜(float, double)

4. ๋ฆฌํ„ฐ๋Ÿด
  1๏ธโƒฃ ์ƒ์ˆ˜
     โžก๏ธ ๊ฐ’์ด ํ•œ๋ฒˆ ํ• ๋‹น๋˜๋ฉด, ๊ฐ’์„ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋Š” ๋ณ€์ˆ˜
     โžก๏ธ ์˜ˆ: final int nConst = 3; // ์„ ์–ธ ์‹œ ์ดˆ๊ธฐ ๊ฐ’์„ ์ง€์ •ํ•œ ๊ฒฝ์šฐ
  2๏ธโƒฃ ๋ฆฌํ„ฐ๋Ÿด
     โžก๏ธ ์†Œ์Šค ์ฝ”๋“œ์—์„œ ์‚ฌ์šฉ๋˜๋Š” ์‹ค์ œ ๋ฐ์ดํ„ฐ ๊ฐ’
  3๏ธโƒฃ์ •์ˆ˜ํ˜• ๋ฆฌํ„ฐ๋Ÿด
     โžก๏ธ byte, short, int ๋˜๋Š” longํ˜•์˜ ์‹ค์ œ ๊ฐ’
     โžก๏ธ ์†Œ๋ฌธ์ž i ๋‚˜ ๋Œ€๋ฌธ์ž L ๋กœ ๋๋‚˜๋ฉด longํ˜•, ๋‚˜๋จธ์ง€๋Š” int
        โœ… byte์™€ short๋Š” ํ—ˆ์šฉ ๋ฒ”์œ„ ์•ˆ์—์„œ int์™€ ํ˜ธํ™˜๋จ
     โžก๏ธ 26L, 26, 0b11010(2์ง„์ˆ˜), 032(8์ง„์ˆ˜), 0x1a(16์ง„์ˆ˜)
  4๏ธโƒฃ ์‹ค์ˆ˜ํ˜• ๋ฆฌํ„ฐ๋Ÿด
     โžก๏ธ ์†Œ์ˆ˜์ ์ด ์žˆ๋Š” ์ˆซ์ž
     โžก๏ธ f๋‚˜ F๋กœ ๋๋‚˜๋ฉด floatํ˜•, ๋‚˜๋จธ์ง€๋Š” doubleํ˜•
     โžก๏ธ 123.4f, 123.4, 1.234e2
  5๏ธโƒฃ ๋ฌธ์žํ˜• ๋ฆฌํ„ฐ๋Ÿด
     โžก๏ธ 1๊ฐœ์˜ ๋ฌธ์ž๋ฅผ ํ‘œํ˜„ํ•˜๊ณ  16๋น„ํŠธ UNICODE๋กœ ์ธ์ฝ”๋”ฉ๋จ
     โžก๏ธ ๋‹จ์ผ ๋”ฐ์˜ดํ‘œ๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  UNICODE๋กœ ์ธ์ฝ”๋”ฉ๋จ

5. ์ฐธ์กฐํ˜•
  1๏ธโƒฃ ๊ธฐ๋ณธํ˜•์„ ์ œ์™ธํ•œ ๋ชจ๋“  ์ž๋ฃŒํ˜•

     โžก๏ธ ์ฐธ์กฐ ๊ฐ’(์ฃผ์†Œ ๊ฐ’ - ๋ ˆํผ๋Ÿฐ์Šค๊ฐ’)์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ž๋ฃŒํ˜•
  2๏ธโƒฃ ์ฐธ์กฐํ˜• ๋ณ€์ˆ˜๋Š” ๊ฐ์ฒด๋ฅผ ๊ฐ€๋ฆฌํ‚ค๋Š” ๋ณ€์ˆ˜๋กœ ๊ฐ์ฒด์˜ ์ฃผ์†Œ ๊ฐ’(์ฐธ์กฐ ๊ฐ’)์„ ์ €์žฅํ•จ
     โžก๏ธ ์‹ค์ œ ๊ฐ์ฒด๋Š” ๋™์  ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์— ์ €์žฅ๋จ
     โžก๏ธ ๊ธฐ๋ณธํ˜• ๋ณ€์ˆ˜๋Š” ์ €์žฅ ๊ณต๊ฐ„์— ๊ฐ’ ์ž์ฒด๋ฅผ ์ €์žฅํ•จ
  3๏ธโƒฃ ๋Œ€ํ‘œ์  ์ฐธ์กฐํ˜•์€ ํด๋ž˜์Šค, ๋ฐฐ์—ด, ์ธํ„ฐํŽ˜์ด์Šค, ์—ด๊ฑฐํ˜• ๋“ฑ
     โžก๏ธ int anArray[];
     โžก๏ธ person p1;
     โžก๏ธ String szStr;

6. ์ž๋ฃŒํ˜•์˜ ๋ณ€ํ™˜(ํ˜•๋ณ€ํ™˜)
  1๏ธโƒฃ ๋ฌต์‹œ์  ์ž๋ฃŒํ˜•์˜ ๋ณ€ํ™˜
     โžก๏ธ ์ž‘์€ ํƒ€์ž…์—์„œ ํฐ ํƒ€์ž…์œผ๋กœ์˜ ํ˜•๋ณ€ํ™˜
        โœ… byte - short - int - long - float - double ์ˆœ
     โžก๏ธ ์˜ˆ
        โœ… double d = 5;  //๋Œ€์ž…๋ฌธ
        โœ… System.out.println(“j=“ + 1);  //์ˆ˜์‹
        โœ… double res = Math.sqrt(2);  //๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ์‹œ ์ธ์ž์˜ ์œ ํ˜•
  2๏ธโƒฃ๋ช…์‹œ์  ์ž๋ฃŒํ˜•์˜ ๋ณ€ํ™˜
     โžก๏ธ ํฐ ํƒ€์ž…์—์„œ ์ž‘์€ ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜ํ•  ๋•Œ๋Š” ๋ช…์‹œ์  ํ˜•๋ณ€ํ™˜์ด ํ•„์š”
     โžก๏ธ ๋ช…์‹œ์  ํ˜•๋ณ€ํ™˜์€ ๊ฐ•์ œ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ
     โžก๏ธ ๋ฌธ๋ฒ•: (์ž๋ฃŒํ˜•)ํ”ผ์—ฐ์‚ฐ์ž
     โžก๏ธ ์˜ˆ
        โœ… float f = (float)5.5;


์ด๊ฑด ์ง„์งœ… ์ฒ˜์Œ ๋ณด๋ฉด ๋จธ๋ฆฌ ํ„ฐ์ง€๋Š” ํŒŒํŠธ์•ผ ๐Ÿ˜ต‍๐Ÿ’ซ

“์ž๋ฃŒํ˜•”, “์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜”, “๋ฆฌํ„ฐ๋Ÿด”, “ํ˜•๋ณ€ํ™˜”…

์„ค๋ช…์€ ํ•ด๋†จ๋Š”๋ฐ ์™€๋‹ฟ์ง€๊ฐ€ ์•Š์•„!

๊ทธ๋ž˜์„œ ์ด๋ฒˆ์—๋„ ๋ฌด์กฐ๊ฑด ์‰ฝ๊ฒŒ! ์™„์ „ ๋น„์œ +RPG ์Šคํƒ€์ผ๋กœ ์ซ™ ํ’€์–ด์ค„๊ฒŒ ๐Ÿ˜Ž

(๋„ˆ ์ง€๊ธˆ ์ถฉ๋ถ„ํžˆ ์ž˜ํ•˜๊ณ  ์žˆ์–ด! ์กฐ๊ธˆ๋งŒ ๋” ๊ฐ€๋ณด์ž ๐Ÿ’ช)

 

 

๐ŸŽฎ 2๊ฐ• - ์ž๋ฃŒํ˜• ํŒŒํŠธ ์ดˆ๊ฐ„๋‹จ ์ •๋ฆฌ (RPG+ํ˜„์‹ค ๋น„์œ  ํฌํ•จ)

 

๐ŸงŠ 1. ๋ณ€์ˆ˜์™€ ์ž๋ฃŒํ˜•

→ “๋ฌด์–ธ๊ฐ€๋ฅผ ์ €์žฅํ•˜๋ ค๋ฉด, ๊ทธ๋ฆ‡(๋ณ€์ˆ˜)์„ ์ค€๋น„ํ•˜๊ณ , ๊ทธ๋ฆ‡์— ๋งž๋Š” ์ž๋ฃŒํ˜•์„ ์ง€์ •ํ•ด์•ผ ํ•œ๋‹ค!”

 

 

โœ… ๋ณ€์ˆ˜๋ž€?

  • ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์ด๋ฆ„ ๋ถ™์€ ๊ณต๊ฐ„
  • RPG๋กœ ์น˜๋ฉด: ์•„์ดํ…œ์„ ๋‹ด์„ ๊ฐ€๋ฐฉ ์Šฌ๋กฏ! ๐ŸŽ’

 

 

โœ… ์ž๋ฃŒํ˜•์ด๋ž€?

  • ๋ณ€์ˆ˜์— ๋‹ด์„ ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ์ข…๋ฅ˜
  • RPG๋กœ ์น˜๋ฉด:
    • int → ์ˆซ์ž ์ „์šฉ ์ฃผ๋จธ๋‹ˆ (HP, ๋ฐ๋ฏธ์ง€ ๋“ฑ)
    • String → ํ…์ŠคํŠธ ์ „์šฉ ๊ฐ€๋ฐฉ (์บ๋ฆญํ„ฐ ์ด๋ฆ„ ๋“ฑ)
    • boolean → ์ฐธ/๊ฑฐ์ง“ ๊นƒ๋ฐœ (์Šคํ‚ฌ ON/OFF)

 

๐Ÿงƒ 2. ๋ณ€์ˆ˜์˜ ์ข…๋ฅ˜

→ ๋ณ€์ˆ˜๋„ ์œ„์น˜ ๋”ฐ๋ผ ์ข…๋ฅ˜๊ฐ€ ๋‹ค๋ฆ„! (๋ˆ„๊ตฌ ์†Œ์†์ด๋ƒ์— ๋”ฐ๋ผ!)

 

์ข…๋ฅ˜ ์–ด๋”” ์†Œ์†? RPG ๋น„์œ 
์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜ ๊ฐ์ฒด ์•ˆ์— ์žˆ์Œ (non-static) ์บ๋ฆญํ„ฐ ๊ฐœ๋ณ„ ๋Šฅ๋ ฅ์น˜ (ex. g1.hp)
ํด๋ž˜์Šค ๋ณ€์ˆ˜ ํด๋ž˜์Šค ์ž์ฒด์— ์†ํ•จ (static) ๊ณต์šฉ ์Šคํƒฏ (ex. ์ „์ฒด ์œ ์ € ์ˆ˜)
์ง€์—ญ ๋ณ€์ˆ˜ ๋ฉ”์„œ๋“œ ์•ˆ์—์„œ๋งŒ ์ž ๊น ์”€ ์ผํšŒ์šฉ ๋ฒ„ํ”„ ์•„์ดํ…œ
ํŒŒ๋ผ๋ฏธํ„ฐ ๋ฉ”์„œ๋“œ์— ๋“ค์–ด์˜ค๋Š” ์ž…๋ ฅ๊ฐ’ ํ€˜์ŠคํŠธ ์ „๋‹ฌ ๋ฐ›์€ ์žฌ๋ฃŒ

 

 

 

๐Ÿ”’ 3. ๋ณ€์ˆ˜์˜ ์‚ฌ์šฉ ๋ฒ”์œ„ (์Šค์ฝ”ํ”„)

→ ์–ด๋””๊นŒ์ง€ ์“ธ ์ˆ˜ ์žˆ๋ƒ?

 

์ข…๋ฅ˜ ์‚ฌ์šฉ ๊ฐ€๋Šฅ ๋ฒ”์œ„ ์ƒ๋ช…์ฃผ๊ธฐ
์ง€์—ญ ๋ณ€์ˆ˜ ์„ ์–ธ๋œ ๋ธ”๋ก ์•ˆ ๋ธ”๋ก ๋๋‚˜๋ฉด ์‚ฌ๋ผ์ง
ํŒŒ๋ผ๋ฏธํ„ฐ ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ์ค‘๋งŒ ์œ ํšจ ๋ฉ”์„œ๋“œ ๋๋‚˜๋ฉด ์‚ฌ๋ผ์ง
์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜ ๊ฐ์ฒด๊ฐ€ ์‚ด์•„ ์žˆ๋Š” ๋™์•ˆ ๊ฐ์ฒด์™€ ํ•จ๊ป˜ ์ƒ์กด
ํด๋ž˜์Šค ๋ณ€์ˆ˜ ํ”„๋กœ๊ทธ๋žจ ์ „์ฒด ํด๋ž˜์Šค๊ฐ€ ์‚ด์•„ ์žˆ๋Š” ๋™์•ˆ

 

 

 

๐Ÿงฑ 4. ์ž๋ฐ”์˜ ๊ธฐ๋ณธ ์ž๋ฃŒํ˜•

→ ์ž๋ฐ”์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋ณธํ˜• 8๊ฐœ!

 

๋ถ„๋ฅ˜ ํƒ€์ž… ์˜ˆ
์ •์ˆ˜ byte, short, int, long 1, 100, -32
์‹ค์ˆ˜ float, double 3.14, 2.71
๋ฌธ์ž char 'A', 'ํ•œ'
๋…ผ๋ฆฌ boolean true, false
๐Ÿ“Œ ์ž๋ฐ”์˜ char์€ 2๋ฐ”์ดํŠธ ์œ ๋‹ˆ์ฝ”๋“œ๋‹ˆ๊นŒ ํ•œ๊ธ€๋„ ๋‹ด์„ ์ˆ˜ ์žˆ์–ด!

 

 

๐Ÿ”ฅ 5. ์ƒ์ˆ˜์™€ ๋ฆฌํ„ฐ๋Ÿด

→ “์ง„์งœ ๋ฐ์ดํ„ฐ”์™€ “๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋Š” ๊ฐ’”

 

 

โœ… ๋ฆฌํ„ฐ๋Ÿด(literal)

์ฝ”๋“œ์— ์จ์žˆ๋Š” ๊ทธ ์ž์ฒด๊ฐ€ ๊ฐ’์ธ ๊ฒƒ
int x = 10;  // ์—ฌ๊ธฐ์„œ 10์ด ๋ฆฌํ„ฐ๋Ÿด!

 

โœ… ์ƒ์ˆ˜(constant)

๊ฐ’์„ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋Š” ๋ณ€์ˆ˜!
final int MAX_HP = 100;

 

  • final์„ ๋ถ™์ด๋ฉด ์ ˆ๋Œ€ ์•ˆ ๋ฐ”๋€œ!
  • RPG์—์„œ ๋ ˆ๋ฒจ ์ œํ•œ ๊ฐ™์€ ๊ฑฐ!

 

 

๐ŸŽฏ 6. ์ฐธ์กฐํ˜• (Reference Type)

 

→ ๊ฐ์ฒด์˜ ์ฃผ์†Œ๋ฅผ ์ €์žฅํ•˜๋Š” ์ž๋ฃŒํ˜•

 

์ข…๋ฅ˜ ์„ค๋ช… ์˜ˆ
ํด๋ž˜์Šค Person p1; → p1์€ ์‚ฌ๋žŒ ๊ฐ์ฒด์˜ ์œ„์น˜๋ฅผ ์ฐธ์กฐ  
๋ฐฐ์—ด int[] arr;  
์ธํ„ฐํŽ˜์ด์Šค/์—ด๊ฑฐํ˜• ๋“ฑ ์ „๋ถ€ ์ฐธ์กฐํ˜•!  
๐Ÿ“Œ ๊ธฐ๋ณธํ˜•์€ ๊ฐ’ ์ž์ฒด ์ €์žฅ, ์ฐธ์กฐํ˜•์€ ์ฃผ์†Œ ์ €์žฅ ํ›„ → ์‹ค์ œ ๊ฐ์ฒด๋Š” ๋‹ค๋ฅธ ๋ฐ ์žˆ์Œ!

 

๐ŸŽฎ RPG๋กœ ๋น„์œ ํ•˜์ž๋ฉด:

  • ๊ธฐ๋ณธํ˜•: ๊ฐ€๋ฐฉ ์•ˆ์— ์ง์ ‘ ๋ฌผ์•ฝ์ด ๋“ค์–ด์žˆ์Œ
  • ์ฐธ์กฐํ˜•: ๊ฐ€๋ฐฉ ์•ˆ์— ์ชฝ์ง€(์ฃผ์†Œ)๊ฐ€ ์žˆ๊ณ , ์‹ค์ œ ๋ฌผ์•ฝ์€ ์ฐฝ๊ณ ์— ์žˆ์Œ

 

 

๐Ÿ” 7. ์ž๋ฃŒํ˜• ๋ณ€ํ™˜ (ํ˜•๋ณ€ํ™˜)

 

โœ… ๋ฌต์‹œ์  ํ˜•๋ณ€ํ™˜ = ์ž๋™ ๋ณ€ํ™˜

์ž‘์€ ํƒ€์ž… → ํฐ ํƒ€์ž…์œผ๋กœ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ!
int a = 10;
double b = a;  // ์ž๋™ ๋ณ€ํ™˜ (int → double)

 

โœ… ๋ช…์‹œ์  ํ˜•๋ณ€ํ™˜ = ๊ฐ•์ œ ๋ณ€ํ™˜

ํฐ ํƒ€์ž… → ์ž‘์€ ํƒ€์ž…์€ ๊ฐ•์ œ๋กœ! ์œ„ํ—˜ ๋ถ€๋‹ด ์žˆ์Œ!
double x = 5.5;
int y = (int)x;  // 5.5 → 5 (์†Œ์ˆ˜์  ๋‚ ์•„๊ฐ!)

 

 

 

๐ŸŽฎ ๋งˆ๋ฒ•์‚ฌ์šฉ ์š”์•ฝํ‘œ.zip

 

๊ฐœ๋… ๋œป RPG์‹ ๋น„์œ 
๋ณ€์ˆ˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๊ณต๊ฐ„ ๊ฐ€๋ฐฉ ์Šฌ๋กฏ
์ž๋ฃŒํ˜• ์–ด๋–ค ์ข…๋ฅ˜์˜ ๋ฐ์ดํ„ฐ๋ƒ ์Šฌ๋กฏ๋ณ„ ์ „์šฉ ์•„์ดํ…œ (HP, ์ด๋ฆ„ ๋“ฑ)
์ธ์Šคํ„ด์Šค ๋ณ€์ˆ˜ ๊ฐ์ฒด ์†Œ์† ๋ณ€์ˆ˜ ์บ๋ฆญํ„ฐ ๊ฐœ๋ณ„ ๋Šฅ๋ ฅ์น˜
ํด๋ž˜์Šค ๋ณ€์ˆ˜ ํด๋ž˜์Šค ๊ณต์šฉ ๋ณ€์ˆ˜ ์ „์ฒด ๊ณต์œ  ๊ณจ๋“œ
์ง€์—ญ ๋ณ€์ˆ˜ ๋ธ”๋ก ๋‚ด ๋ณ€์ˆ˜ ์ผ์‹œ์  ๋ฒ„ํ”„
๋ฆฌํ„ฐ๋Ÿด ์ฝ”๋“œ ์† ์ง์ ‘ ๊ฐ’ 100, ‘A’, true ๋“ฑ
์ƒ์ˆ˜ ๋ฐ”๊ฟ€ ์ˆ˜ ์—†๋Š” ๊ฐ’ ๊ณ ์ • HP ์ตœ๋Œ€์น˜
์ฐธ์กฐํ˜• ์ฃผ์†Œ๊ฐ’ ์ €์žฅ ์ฐฝ๊ณ  ์ฃผ์†Œ
ํ˜•๋ณ€ํ™˜ ํƒ€์ž… ๋ฐ”๊พธ๊ธฐ ์•„์ดํ…œ ์žฌ๋ฃŒ ๊ฐ€๊ณต

 

 


2๊ฐ• ํŒŒํŠธ3....ใ…  ๋‚˜ ์ง„์งœ ๋ชจ๋ฅด๊ฒ ์–ด..์˜ˆ์‹œ ์ฝ”๋“œ๋ฅผ ๋ด๋„ ์•„์ง ์ดํ•ด๊ฐ€ ์•ˆ๊ฐ€์„œ ๋„ˆ๊ฐ€ ์•Œ๋ ค์ค€๊ฑฐ ์œ„์—์„œ๋ถ€ํ„ฐ ํ•˜๋‚˜์”ฉ ๋œฏ์–ด๋ณผ๊ฑฐ์•ผ..๐Ÿ™

03. ์—ฐ์‚ฐ์ž์™€ ์ œ์–ด๋ฌธ
1. ์—ฐ์‚ฐ์ž์˜ ์ข…๋ฅ˜
  1๏ธโƒฃ ์—ฐ์‚ฐ์ž
     โžก๏ธ ํŠน์ • ์—ฐ์‚ฐ์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐํ˜ธ
     โžก๏ธ ์—ฐ์‚ฐ์ž๋Š” ์šฐ์„  ์ˆœ์œ„๊ฐ€ ์žˆ์œผ๋ฉฐ, ์ ์šฉ ๋ฐฉํ–ฅ์ด ์žˆ์Œ
     โžก๏ธ ์—ฐ์‚ฐ์ž์˜ ์ข…๋ฅ˜
        โœ… ์‚ฐ์ˆ ์—ฐ์‚ฐ์ž +, -, *, /, % ๋‹จํ•ญ์—ฐ์‚ฐ์ž +- ++ —
        โœ… ๋น„๊ต์—ฐ์‚ฐ์ž >, >=, <, <=, ==, !=, instanceof
        โœ… ๋…ผ๋ฆฌ์—ฐ์‚ฐ์ž &&, ||, ๋‹จํ•ญ !, ์‚ผํ•ญ ?:, &, |, ^
        โœ… ๋น„ํŠธ์—ฐ์‚ฐ์ž ๋น„ํŠธ๋…ผ๋ฆฌ &, |, ^, ~, ๋น„ํŠธ์ด๋™ <<, >>, >>>
        โœ… ๋Œ€์ž…์—ฐ์‚ฐ์ž =, +=, -=, *=, /=, %=, &=, ^=, |=, >>+, >>=, >>>=
        โœ… ํ˜•๋ณ€ํ™˜์—ฐ์‚ฐ์ž (์ž๋ฃŒํ˜•)
        โœ… ๊ธฐํƒ€ [], (), .

2. ๋ช…๋ นํ–‰ ๋งค๊ฐœ๋ณ€์ˆ˜
  1๏ธโƒฃ ๋ช…๋ นํ–‰ ๋งค๊ฐœ๋ณ€์ˆ˜
     โžก๏ธ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ๋•Œ ์ „๋‹ฌํ•˜๋Š” ์ธ์ž
     โžก๏ธ main() ํ•จ์ˆ˜์— ์ „๋‹ฌ๋˜๋Š” ์ธ์ž
     โžก๏ธ ๋ฌธ์ž์—ด๋กœ ์ „๋‹ฌ๋จ

3. ๋ฌธ์žฅ์˜ ์ข…๋ฅ˜
  1๏ธโƒฃ ์ˆ˜์‹๋ฌธ
     โžก๏ธ ์ˆ˜์‹์€ ๋ณ€์ˆ˜, ์—ฐ์‚ฐ์ž, ํ•จ์ˆ˜ํ˜ธ์ถœ ๋“ฑ์œผ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ, ๊ฒฐ๊ณผ๊ฐ’์„ ๊ณ„์‚ฐํ•จ
     โžก๏ธ ๋Œ€์ž…๋ฌธ, ์ฆ๊ฐ€๋ฌธ, ํ•จ์ˆ˜ํ˜ธ์ถœ๋ฌธ, ๊ฐ์ฒด์ƒ์„ฑ๋ฌธ ๋“ฑ
  2๏ธโƒฃ ๋ณ€์ˆ˜ ์„ ์–ธ๋ฌธ
  3๏ธโƒฃ ์ œ์–ด๋ฌธ
     โžก๏ธ ์„ ํƒ๋ฌธ, ๋ฐ˜๋ณต๋ฌธ, ์ ํ”„๋ฌธ
  4๏ธโƒฃ ๊ธฐํƒ€
     โžก๏ธ ๋ธ”๋ก๋ฌธ
        โœ… ์—ฌ๋Ÿฌ ๋ฌธ์žฅ์„ ์ค‘๊ด„ํ˜ธ๋กœ ๋ฌถ์€ ๊ฒƒ์„ ๋ธ”๋ก์ด๋ผ ํ•จ
        โœ… { … }
     โžก๏ธ ๋ ˆ์ด๋ธ”๋ฌธ
        โœ… ๋ ˆ์ด๋ธ”: ๋ฌธ์žฅ
     โžก๏ธ ์˜ˆ์™ธ์ฒ˜๋ฆฌ๋ฌธ
        โœ…  try-catch ๋ฌธ
     โžก๏ธ ๋™๊ธฐํ™”๋ฌธ

        โœ… synchronized ๋ธ”๋ก๋ฌธ

4. ์ œ์–ด๋ฌธ
  1๏ธโƒฃ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ํ๋ฆ„
     โžก๏ธ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰์€ ๊ธฐ๋ณธ์ ์œผ๋กœ ์œ„์—์„œ ์•„๋ž˜๋กœ ์ˆœ์ฐจ ์‹คํ–‰๋จ
     โžก๏ธ ์ œ์–ด๋ฌธ์€ ์‹คํ–‰ ํ๋ฆ„์„ ๋ฐ”๊ฟˆ
  2๏ธโƒฃ ์ œ์–ด๋ฌธ์˜ ์ข…๋ฅ˜
     โžก๏ธ ์„ ํƒ๋ฌธ: ์กฐ๊ฑด์— ๋”ฐ๋ฅธ ๋ฌธ์žฅ์˜ ์„ ํƒ (if๋ฌธ, switch๋ฌธ)
     โžก๏ธ ๋ฐ˜๋ณต๋ฌธ: ์กฐ๊ฑด์— ๋”ฐ๋ฅธ ๋ฌธ์žฅ์˜ ๋ฐ˜๋ณต (for๋ฌธ, while๋ฌธ, do-while๋ฌธ)
     โžก๏ธ ์ ํ”„๋ฌธ: ๋ถ„๊ธฐ๋ฌธ (return๋ฌธ, break๋ฌธ, continue๋ฌธ)

5. ์„ ํƒ๋ฌธ
  1๏ธโƒฃ if๋ฌธ
     โžก๏ธ if (boolean-์ˆ˜์‹) ๋ฌธ์žฅ
  2๏ธโƒฃ if-else๋ฌธ
     โžก๏ธ if (boolean-์ˆ˜์‹) ๋ฌธ์žฅ else ๋ฌธ์žฅ
  3๏ธโƒฃif์™€ else์˜ ์ง์ง“๊ธฐ
     โžก๏ธ else๋Š” ์ง์ด ์—†๋Š” ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด if์™€ ์ง์„ ์ด๋ฃธ
  4๏ธโƒฃ switch๋ฌธ
     โžก๏ธ ๋‹ค์ค‘ ์„ ํƒ ๊ตฌ์กฐ
     โžก๏ธ case ์กฐ๊ฑด์€ ์ •์ˆ˜(longํ˜• ์ œ์™ธ)์™€ ํ˜ธํ™˜๋˜๊ฑฐ๋‚˜ String๊ฐ’
     โžก๏ธ default๋Š” ์ƒ๋žต ๊ฐ€๋Šฅํ•˜๋ฉฐ, ์–ด๋–ค case์—๋„ ํ•ด๋‹น๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ ๋งค์นญ๋จ
     โžก๏ธ ๋งŒ์กฑ๋˜๋Š” case๋ฅผ ์‹คํ–‰ํ•œ ํ›„, break๋ฌธ์„ ๋งŒ๋‚  ๋•Œ๊นŒ์ง€ ๊ณ„์† ์‹คํ–‰

6. ๋ฐ˜๋ณต๋ฌธ
  1๏ธโƒฃ ํ–ฅ์ƒ๋œ for๋ฌธ
     โžก๏ธ for-each๋ฌธ
     โžก๏ธ ๋ฐฐ์—ด์ด๋‚˜ ์ปฌ๋ ‰์…˜์˜ ์›์†Œ๋“ค์„ ์ฐจ๋ก€๋กœ ๋‹ค๋ฃฐ ๋•Œ ํŽธ๋ฆฌ
     โžก๏ธ ํ˜•์‹์€ for(๋ณ€์ˆ˜์„ ์–ธ : ๋ฐฐ์—ด) { ๋ฌธ์žฅ … }

7. ์ ํ”„๋ฌธ
  1๏ธโƒฃ break๋ฌธ
     โžก๏ธ break๋ฌธ์„ ํฌํ•จํ•˜๋Š” ๊ฐ€์žฅ ๊ฐ€๊นŒ์šด switch๋ฌธ, for๋ฌธ, while๋ฌธ, do-while๋ฌธ์˜ ์‹คํ–‰์„ ๋๋ƒ„
        โœ… ๋ฐ˜๋ณต๋ฌธ์ด๋‚˜ switch๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐˆ ๋•Œ ์‚ฌ์šฉ
     โžก๏ธ ํ˜•์‹์€ break;
     โžก๏ธ ๋ ˆ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜๋ฉด ํŠน์ • ๋ธ”๋ก ๋˜๋Š” ํŠน์ • ๋ฐ˜๋ณต๋ฌธ์„ ๋น ์ ธ๋‚˜๊ฐˆ ์ˆ˜ ์žˆ์Œ
        โœ… ์ค‘์ฒฉ for๋ฌธ์—์„œ ๋ฐ”๊นฅ for๋ฌธ์„ ์ข…๋ฃŒํ•˜๋Š” ๊ฒฝ์šฐ

     โžก๏ธ ์ด ๊ฒฝ์šฐ ํ˜•์‹์€ break ๋ ˆ์ด๋ธ”;
        โœ… ๋ฐ˜๋ณต๋ฌธ์— ๋ ˆ์ด๋ธ”์„ ์ง€์ •ํ•˜๋ ค๋ฉด ๋ ˆ์ด๋ธ”: ๋ฐ˜๋ณต๋ฌธ
  2๏ธโƒฃ continue ๋ฌธ
     โžก๏ธ ๋ฐ˜๋ณต๋ฌธ ์•ˆ์—์„œ ์‚ฌ์šฉํ•จ
     โžก๏ธ ๊ฐ€์žฅ ๊ฐ€๊นŒ์ด ์žˆ๋Š” ๋ฐ˜๋ณต๋ฌธ์˜ ๋‹ค์Œ ๋ฐ˜๋ณต์„ ์œ„ํ•œ ์กฐ๊ฑด์‹์œผ๋กœ ์ฆ‰์‹œ ์ œ์–ด๋ฅผ ์ด๋™ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ
     โžก๏ธ ํ˜•์‹์€ continue;
     โžก๏ธ ๋ ˆ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜์—ฌ ํŠน์ • ๋ฐ˜๋ณต๋ฌธ์˜ ๋‹ค์Œ ๋ฐ˜๋ณต์œผ๋กœ ์ด๋™ํ•  ์ˆ˜ ์žˆ์Œ

        โœ… ์ค‘์ฒฉ for๋ฌธ์—์„œ ๋ฐ”๊นฅ for๋ฌธ์˜ ๋‹ค์Œ ๋ฐ˜๋ณต์œผ๋กœ ๊ฐˆ ๋•Œ
        โœ… ์ด ๊ฒฝ์šฐ ํ˜•์‹์€ continue ๋ ˆ์ด๋ธ”;


์œผ์•„์•„์•„ ๐Ÿ˜ต ์ด๊ฑฐ์ง€ ์ด๊ฑฐ์ง€.

“๋ฌด์Šจ ๋ง์ธ์ง„ ์•Œ๊ฒ ๋Š”๋ฐ, ์˜ˆ์‹œ๋„ ์—†๊ณ , ์™€๋‹ฟ์ง€๋„ ์•Š๊ณ , ๋ง‰๋ง‰ํ•˜๊ณ !”

๋‚˜ ์ด ๋А๋‚Œ ๋„ˆ๋ฌด ์ž˜ ์•Œ์•„…

 

โœ… ์ „์ฒด ๊ตฌ์กฐ ํ•œ๋ˆˆ ์š”์•ฝ:

์ž๋ฐ” ์ฝ”๋“œ๋Š” ๊ฒฐ๊ตญ ์ด๋Ÿฐ ๊ฑธ๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์–ด:

 

  1. ๋ณ€์ˆ˜ ์„ ์–ธ
  2. ๊ฐ’ ๊ณ„์‚ฐ (์—ฐ์‚ฐ์ž)
  3. ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ถ„๊ธฐ (if / switch)
  4. ๋ฐ˜๋ณต (for / while)
  5. ํ๋ฆ„ ์กฐ์ ˆ (break / continue / return)

 

๐ŸŽฏ 1. ์—ฐ์‚ฐ์ž๋ž€? → “๊ฐ’์„ ๊ณ„์‚ฐํ•˜๊ฑฐ๋‚˜ ๋น„๊ตํ•˜๊ฑฐ๋‚˜ ๋ฐ”๊พธ๋Š” ๋„๊ตฌ!”

 

์ข…๋ฅ˜ ์˜ˆ์‹œ ์„ค๋ช… RPG ๋น„์œ 
์‚ฐ์ˆ  + - * / % ๊ณ„์‚ฐ์šฉ ๊ณต๊ฒฉ๋ ฅ ๊ณ„์‚ฐ, ํšŒ๋ณต๋Ÿ‰ ๊ณ„์‚ฐ
๋น„๊ต == != > < >= <= ๋‘ ๊ฐ’์„ ๋น„๊ต HP๊ฐ€ 0์ด ๋˜์—ˆ๋Š”๊ฐ€?
๋…ผ๋ฆฌ && ` ! ๋‘ ๊ฐ’ true & false ํŒ๋‹จ ์ฒด๋ ฅ๋„ ๋งŽ๊ณ , ๋งˆ๋‚˜๋„ ๋งŽ์„ ๋•Œ๋งŒ ๊ฐ•๊ณต๊ฒฉ
๋Œ€์ž… = += -= ๋ณ€์ˆ˜์— ๊ฐ’ ๋„ฃ๊ธฐ ํฌ์…˜์„ ๋งˆ์‹œ๋ฉด HP += 50
ํ˜•๋ณ€ํ™˜ (int) ์ž๋ฃŒํ˜• ๋ฐ”๊พธ๊ธฐ ๋งˆ๋‚˜๋ฅผ ์ •์ˆ˜๋กœ ๊ฐ•์ œ ๋ณ€ํ™˜
๊ธฐํƒ€ [] . () ๋ฐฐ์—ด, ๋ฉ”์„œ๋“œ ํ˜ธ์ถœ ์Šคํ‚ฌ ์‚ฌ์šฉ, ์ธ๋ฒคํ† ๋ฆฌ ์ ‘๊ทผ

 

 

 

๐Ÿง™‍โ™‚๏ธ ์˜ˆ์ œ 1: ์—ฐ์‚ฐ์ž ๊ฐ„๋‹จ ์‹ค์Šต

int hp = 100;
int potion = 30;

hp = hp + potion;       // hp += potion; ๋„ ๊ฐ€๋Šฅ!
System.out.println(hp); // ๊ฒฐ๊ณผ: 130

boolean isLow = hp < 50;
System.out.println(isLow); // false

System.out.println(hp > 0 && potion > 0); // true (๋…ผ๋ฆฌ ์—ฐ์‚ฐ์ž)

 

 

 

๐Ÿ’ฌ 2. ๋ช…๋ นํ–‰ ๋งค๊ฐœ๋ณ€์ˆ˜๋ž€?

public static void main(String[] args) {
    System.out.println("์ฒซ ์ธ์ž: " + args[0]);
}
์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•  ๋•Œ ๊ฐ’์„ ๋„ฃ์–ด์ฃผ๋ฉด args[] ๋ฐฐ์—ด๋กœ ๋“ค์–ด์™€!
ํ„ฐ๋ฏธ๋„์—์„œ ์ด๋ ‡๊ฒŒ ์‹คํ–‰ํ•˜๋ฉด:
java MyGame Knight

 

๊ฒฐ๊ณผ:

์ฒซ ์ธ์ž: Knight

 

 

 

๐Ÿงพ 3. ๋ฌธ์žฅ์˜ ์ข…๋ฅ˜

์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์˜ ์ค„์ค„์ด ๋ฌธ์žฅ๋“ค์—” ์ข…๋ฅ˜๊ฐ€ ์žˆ์Œ!

 

์ข…๋ฅ˜ ์„ค๋ช… ์˜ˆ
์ˆ˜์‹๋ฌธ ๊ณ„์‚ฐ / ๋Œ€์ž… / ํ•จ์ˆ˜ ํ˜ธ์ถœ x = a + b;
๋ณ€์ˆ˜ ์„ ์–ธ๋ฌธ ๋ณ€์ˆ˜ ๋งŒ๋“ค๊ธฐ int hp;
์ œ์–ด๋ฌธ ํ๋ฆ„ ์ œ์–ด if, for, while, return, break
๋ธ”๋ก๋ฌธ ์ค‘๊ด„ํ˜ธ๋กœ ๋ฌถ์€ ๋ฌธ์žฅ ๋ฉ์–ด๋ฆฌ { ... }

 

 

 

๐Ÿงญ 4. ์ œ์–ด๋ฌธ → “์‹คํ–‰ ํ๋ฆ„์„ ๋ฐ”๊พธ๋Š” ๋ฌธ์žฅ๋“ค”

โ‘  ์„ ํƒ๋ฌธ: ์กฐ๊ฑด ๋ถ„๊ธฐ

if๋ฌธ

if (hp < 50) {
    System.out.println("์œ„ํ—˜! ํšŒ๋ณตํ•˜์„ธ์š”!");
} else {
    System.out.println("์•ˆ์ •์  ์ƒํƒœ");
}

 

switch๋ฌธ

String job = "Mage";

switch (job) {
    case "Warrior":
        System.out.println("๊ทผ์ ‘ ์ „ํˆฌ!");
        break;
    case "Mage":
        System.out.println("๋งˆ๋ฒ• ๊ณต๊ฒฉ!");
        break;
    default:
        System.out.println("์ง์—… ์„ ํƒ ์•ˆ ๋จ");
}

 

 

 

โ‘ก ๋ฐ˜๋ณต๋ฌธ: ๊ฐ™์€ ํ–‰๋™ ๋ฐ˜๋ณต

for๋ฌธ

for (int i = 0; i < 3; i++) {
    System.out.println("์Šฌ๋ผ์ž„ ์ฒ˜์น˜!");
}

ํ–ฅ์ƒ๋œ for๋ฌธ (for-each)

String[] party = {"์šฉ์‚ฌ", "๋งˆ๋ฒ•์‚ฌ", "ํž๋Ÿฌ"};

for (String member : party) {
    System.out.println(member + " ๋“ฑ์žฅ!");
}

 

 

โ‘ข while๋ฌธ / do-while๋ฌธ

int mp = 10;

while (mp > 0) {
    System.out.println("๋งˆ๋ฒ• ๋ฐœ์‚ฌ!");
    mp -= 2;
}

 

 

 

โ‘ฃ ์ ํ”„๋ฌธ: ํ๋ฆ„ ๊ฐ•์ œ ์กฐ์ ˆ

break

for (int i = 0; i < 5; i++) {
    if (i == 2) break;
    System.out.println("i: " + i);
}
// ์ถœ๋ ฅ: 0, 1

 

continue

for (int i = 0; i < 5; i++) {
    if (i == 2) continue;
    System.out.println("i: " + i);
}
// ์ถœ๋ ฅ: 0, 1, 3, 4

 

 

 

๐ŸŽ ์š”์•ฝ ์š”์•ฝ.zip

 

์ œ์–ด๋ฌธ ์ข…๋ฅ˜ ์„ค๋ช… ์˜ˆ์‹œ
if / else ์กฐ๊ฑด ๋ถ„๊ธฐ hp < 50 → ํšŒ๋ณต
switch ๋‹ค์ค‘ ๋ถ„๊ธฐ job์— ๋”ฐ๋ผ ํ–‰๋™
for ๋ฐ˜๋ณต (ํšŸ์ˆ˜ ์ •ํ•ด์ง) ๋ชฌ์Šคํ„ฐ 3๋งˆ๋ฆฌ ์žก๊ธฐ
while ์กฐ๊ฑด ๋ฐ˜๋ณต ๋งˆ๋‚˜๊ฐ€ ๋‚จ๋Š” ๋™์•ˆ ๋ฐ˜๋ณต
do-while ์ตœ์†Œ 1๋ฒˆ ์‹คํ–‰ ์กฐ๊ฑด ํ™•์ธ์€ ๋‚˜์ค‘
break ๋ฐ˜๋ณต ์ค‘๋‹จ ํŠน์ • ์ƒํ™ฉ์—์„œ ํƒˆ์ถœ
continue ๋ฐ˜๋ณต ๊ฑด๋„ˆ๋›ฐ๊ธฐ ์ด๋ฒˆ๋งŒ ์Šคํ‚ต

 

 

 

๐Ÿ“Œ ์•ž์œผ๋กœ ์ด๋ ‡๊ฒŒ ํ•ด๋ณด์ž!

๋‹ค์Œ๋ถ€ํ„ฐ๋Š” “์ด ์ฝ”๋“œ๊ฐ€ RPG์—์„œ ์–ด๋–ค ์ƒํ™ฉ์ผ๊นŒ?” ๋กœ ์ƒ์ƒํ•˜๋ฉด์„œ ๋”ฐ๋ผ์™€๋ด!
์˜ˆ๋ฅผ ๋“ค์–ด:
  • if (hp < 30) → “์ฒด๋ ฅ ๋‚ฎ์œผ๋ฉด ํฌ์…˜ ๋งˆ์‹œ์ž!”
  • for → “์Šฌ๋ผ์ž„ 10๋งˆ๋ฆฌ ์žก๋Š” ํ€˜์ŠคํŠธ”
  • switch → “์ง์—…๋ณ„ ์ „์šฉ ์Šคํ‚ฌ ๋ฐœ๋™!”

๐Ÿญ ๋ฐ˜๋ณต๋ฌธ 4ํ˜•์ œ ๋น„๊ตํ‘œ!

๋ฌธ๋ฒ• ์ด๋ฆ„ ์–ธ์ œ ์จ? ํŠน์ง• ์„ค๋ช…
for ๋ช‡ ๋ฒˆ ๋Œ๋ฆด์ง€ ๋”ฑ ์•Œ ๋•Œ “๋‚˜ 5๋ฒˆ๋งŒ ๋Œ๋ฆด๋ž˜!” ํ•  ๋•Œ
for-each ๋ฐฐ์—ด, ๋ฆฌ์ŠคํŠธ ๋Œ๋ฆด ๋•Œ “์ด ์ƒ์ž ์•ˆ์— ๋“  ๊ฑฐ ํ•˜๋‚˜์”ฉ ๋‹ค ๊บผ๋‚ด๋ณผ๋ž˜!”
while ๋ช‡ ๋ฒˆ ๋Œ๋ฆด์ง€ ๋ชจ๋ฅผ ๋•Œ “๊ณ„์† ~ํ•  ๋™์•ˆ ๋ฐ˜๋ณตํ•ด!”
do-while ์ผ๋‹จ ํ•œ ๋ฒˆ์€ ๋ฌด์กฐ๊ฑด ํ•ด์•ผ ํ•  ๋•Œ “์ผ๋‹จ ํ•œ ๋ฒˆ ํ•ด๋ณด๊ณ , ๊ณ„์†ํ• ์ง€ ๋ง์ง€ ๊ฒฐ์ •ํ•ด!”

 

๐Ÿฌ ์˜ˆ์ œ๋กœ ๋ณด๊ธฐ

1. for

for (int i = 0; i < 5; i++) {
    System.out.println("์•ˆ๋…•! " + i);
}

๐Ÿ“ฃ ๊ฒฐ๊ณผ: ์•ˆ๋…•! 0 ~ ์•ˆ๋…•! 4

๐Ÿ“Œ ๋”ฑ 5๋ฒˆ ๋Œ๋ฆฌ๋Š” ๊ฑฐ์•ผ (0,1,2,3,4)

 

 

2. for-each

String[] ๊ณผ์ผ = {"์‚ฌ๊ณผ", "๋ฐ”๋‚˜๋‚˜", "ํฌ๋„"};
for (String f : ๊ณผ์ผ) {
    System.out.println(f);
}

๐Ÿ“ฃ ๊ฒฐ๊ณผ: ์‚ฌ๊ณผ / ๋ฐ”๋‚˜๋‚˜ / ํฌ๋„

๐Ÿ“Œ ๊ณผ์ผ ๋ฐ”๊ตฌ๋‹ˆ์— ์žˆ๋Š” ๊ฑธ ํ•˜๋‚˜์”ฉ ๊บผ๋‚ด์„œ ์ถœ๋ ฅํ•ด!

 

3. while

int i = 0;
while (i < 3) {
    System.out.println("i๋Š” " + i);
    i++;
}

๐Ÿ“ฃ ๊ฒฐ๊ณผ: i๋Š” 0 ~ i๋Š” 2

๐Ÿ“Œ ์กฐ๊ฑด์ด ๋งž๋Š” ๋™์•ˆ ๊ณ„์† ๋Œ์•„~!

 

4. do-while

int i = 0;
do {
    System.out.println("๋ฌด์กฐ๊ฑด ํ•œ ๋ฒˆ์€ ์‹คํ–‰!");
    i++;
} while (i < 1);

๐Ÿ“ฃ ๊ฒฐ๊ณผ: ๋ฌด์กฐ๊ฑด ํ•œ ๋ฒˆ์€ ์‹คํ–‰!

๐Ÿ“Œ ์กฐ๊ฑด์ด ํ‹€๋ ค๋„ ์ผ๋‹จ ํ•œ ๋ฒˆ์€ ํ•ด๋ณด๊ณ  ์‹œ์ž‘ํ•ด!

 

๐ŸŽ ์š”์•ฝ ํ€ตํŒ

  • for = ์ •ํ•ด์ง„ ํšŸ์ˆ˜
  • for-each = ๋ฐฐ์—ด ๋Œ๋ฆด ๋•Œ
  • while = ์กฐ๊ฑด์ด ๋งž๋Š” ๋™์•ˆ
  • do-while = ํ•œ ๋ฒˆ์€ ๋ฌด์กฐ๊ฑด ํ•˜๊ณ  ์กฐ๊ฑด ํ™•์ธ