[Java] 2๊ฐ. Java ๊ธฐ๋ณธ ๋ฌธ๋ฒ(1)
๊ฐ์ 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 ๋ ์ด๋ธ;
์ผ์์์ ๐ต ์ด๊ฑฐ์ง ์ด๊ฑฐ์ง.
“๋ฌด์จ ๋ง์ธ์ง ์๊ฒ ๋๋ฐ, ์์๋ ์๊ณ , ์๋ฟ์ง๋ ์๊ณ , ๋ง๋งํ๊ณ !”
๋ ์ด ๋๋ ๋๋ฌด ์ ์์…
โ ์ ์ฒด ๊ตฌ์กฐ ํ๋ ์์ฝ:
์๋ฐ ์ฝ๋๋ ๊ฒฐ๊ตญ ์ด๋ฐ ๊ฑธ๋ก ์ด๋ฃจ์ด์ ธ ์์ด:
- ๋ณ์ ์ ์ธ
- ๊ฐ ๊ณ์ฐ (์ฐ์ฐ์)
- ์กฐ๊ฑด์ ๋ฐ๋ผ ๋ถ๊ธฐ (if / switch)
- ๋ฐ๋ณต (for / while)
- ํ๋ฆ ์กฐ์ (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 = ํ ๋ฒ์ ๋ฌด์กฐ๊ฑด ํ๊ณ ์กฐ๊ฑด ํ์ธ