๋ฐ์ํ
๐ ๊ธฐ์ด์ง์
๐ต์๋ฐ ํ๋ก๊ทธ๋จ์ ์คํ
- C์ ๊ฒฝ์ฐ: windows ์ปดํ์ผ๋ฌ- Linux์ปดํ์ผ๋ฌ- Mac OS์ปดํ์ผ๋ฌ ๊ฐ ๊ฐ๊ฐ ๋ฐ๋ก ์๊ณ ์ ๋ง๋ค์ ์คํํ์ผ๊ณผ ์คํ์ ๋ฐ๋ก ํ๋ ํ๋ก์ธ์ค๋ก ์งํ
- C๋ก ๋ง๋ค์ด์ง JAVA์ ๊ฒฝ์ฐ : ์์ 3๊ฐ์ง OS๋ฅผ JDK๋ก ๋ฌถ์ด '์๋ฐ ์ปดํ์ผ๋ฌ' ๋ก์จ JVM์ ํตํด 3๊ฐ์ง OS์์ ์ต์ข ์ ์ผ๋ก ๊ฐ๊ฐ ์คํํ๊ฒ ํด์ฃผ๋ ํ๋ก์ธ์ค๋ก ์งํ
๐ต์๋ฐ ์ฝ๋ ํ๋ก์ธ์ค
- ์๋ฐ ์ปดํ์ผ๋ฌ(JAVA Compiler)
- ์๋ฐ ์์ค ํ์ผ์ JVM์ด ํด์ํ ์์๋ JAVA ByteCode(.class ํ์ผ) ๋ก ๋ฒ์ญ - ์๋ฐ ๋ฐ์ดํธ์ฝ๋(JAVA Bytecode)
- ๋ฐ์ดํธ ์ฝ๋๋ JVM์ด ์ดํดํ ์ ์๋ ์ ์์ค ์ธ์ด
- ๊ธฐ์กด์ ์ธ์ด์ ์ปดํ์ผ ๊ฒฐ๊ณผ๋ก ์์ฑ๋๋ ์ค๋ธ์ ํธํ์ผ(.obj)๊ณผ ๋ฌ๋ฆฌ,
- ๋ฐ์ดํธ ์ฝ๋(.class)๋ ๋ชจ๋ ํ๋ซํผ์ JVM์์ ์คํ๊ฐ๋ฅ - JVM (Java Virtual Machine) *ํด์ ๋ฐ ๊ด๋ฆฌํด์ฃผ๋ ํ ํ ์ปจํธ๋กค
- ์๋ฐ๊ฐ ์ค์ ๋ก ๋์ํ๋ ๊ฐ์ํ๊ฒฝ
- ์๋ฐํ๋ก๊ทธ๋จ์ด ๋ค์ํ OS ํน์ ํ๊ฒฝ์์ ์คํ๋ ์ ์๊ฒ ํด์ค
- ๋ฉ๋ชจ๋ฆฌ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌ
๐ต๊ฐ์ฒด์งํฅ ์ธ์ด JAVA
- ํ๋ก๊ทธ๋จ์์์ ๊ฐ์ฒด๋?
- ๊ฐ๋ฐํ ๊ฐ์น๊ฐ ์๋, ๋ง๋ค์ด ๋ผ ์ ์๋๊ฒ (์์ฑ๊ณผ ๊ธฐ๋ฅ์ด ์กด์ฌํ๋๊ฒ)
EX) [๊ณ ์ ์์ฑ] : ๊ธฐ๋ฅ1 / ๊ธฐ๋ฅ2 /๊ธฐ๋ฅ3 - class๋ผ๋ ๋๊ตฌ๋ฅผํตํด ์ปดํจํฐ๊ฐ ์ดํดํ ์ ์๋๋ก ํด์ผํจ
EX) ํ์ค์ ๊ฐ์ฒด (์ฌ๊ณผ) -> ํ๋ก๊ทธ๋๋ฐํ(๋นจ๊ฐ๊ณ ๋ฅ๊ทผ๋ฌผ์ฒด) -> ์๋ฐ์ ๊ฐ์ฒด(.class)(๋นจ๊ฐ๊ณ ๋ฅ๊ทผ๋ฌผ์ฒด=์ฌ๊ณผ)

*ํด๋์ค๋ฅผ ์ ์ํ๋ ํค์๋๋ ์๋ฐ๊ฐ ๊ธฐ๋ณธ์ ๊ณต ํด์ฃผ๋ ๋ถ๋ถ
๐ต์ฉ์ด ์ ๋ฆฌ
- ํด๋์ค
- ์๋ฐ์์ ํ๋ก๊ทธ๋จ์ ๊ฐ๋ฐํ๋ ๋จ์
- ํ๋ ์ด์์ ํด๋์ค๊ฐ ์์ด์ผ ํ๋ฉฐ ์์คํ์ผ์ ์ด๋ฆ์ด ๋ฉ์ธ ํด๋์ค(public class ooo) ์ด๋ฆ๊ณผ ๋์ผํด์ผํจ - ๋ฉ์๋
- ์ํํ ์์ ์ ๋์ดํ ์ฝ๋์ ์งํฉ
- ์๋ฐ์์ ๊ธฐ๋ฅ ์ํ์ ๋ด๋นํ๊ณ ์์ผ๋ฉฐ, ๋์์ฝ๋๋ ๋ชจ๋ ๋ฉ์๋ ์๋์์ ์์ฑ๋ผ์ผํจ - ์คํ๋ฌธ
- ๋ฉ์๋ ๋ด์์ ์ค์ ๋ก ๋์ํ๋ ๋ด์ฉ์ ๊ตฌํํ๋ ๊ตฌ๋ฌธ
- ์ฌ๋ฌ๊ฐ์ง ์๋ฐ์์ ์ฃผ์ด์ง๋ ๊ธฐ๋ฅ๊ณผ ๋ฌธ๋ฒ์ ์ฌ์ฉํ์ฌ ๋ง๋ฌ
๐ต์ฃผ์์ ์ข
๋ฅ
- // : ํ ์ฃผ์
- // ๋ถํฐ ๊ทธ ์ค ๋๊น์ง ์ฃผ์์ผ๋ก ์ฒ๋ฆฌ, ์ฃผ์ ๋ด์ฉ์ด ํ ์ค ์ผ๋ ์ฌ์ฉ
public class SingleLineCommentExample {
public static void main(String[] args) {
int x = 10; // ๋ณ์ x๋ฅผ 10์ผ๋ก ์ด๊ธฐํ
int y = 20; // ๋ณ์ y๋ฅผ 20์ผ๋ก ์ด๊ธฐํ
int sum = x + y; // x์ y์ ํฉ์ ๊ณ์ฐ
System.out.println("The sum is: " + sum); // ๊ฒฐ๊ณผ ์ถ๋ ฅ
}
}
2. /*...*/ : ๋ฒ์ ์ฃผ์
- /*์ */์ฌ์ด์ ๋ด์ฉ์ ์ฃผ์์ผ๋ก ์ฒ๋ฆฌ, ์ฃผ์ ๋ด์ฉ์ด ์ฌ๋ฌ ์ค ์ผ๋ ์ฌ์ฉ
public class MultiLineCommentExample {
public static void main(String[] args) {
int x = 10; /* ๋ณ์ x๋ฅผ 10์ผ๋ก ์ด๊ธฐํ */
int y = 20; /* ๋ณ์ y๋ฅผ 20์ผ๋ก ์ด๊ธฐํ */
/*
* ์ฌ๋ฌ ์ค ์ฃผ์์ ์์์
๋๋ค.
* ์ฌ๊ธฐ์๋ x์ y์ ํฉ์ ๊ณ์ฐํ๊ณ ์ถ๋ ฅํฉ๋๋ค.
* ์ฌ๋ฌ ์ค๋ก ์ฃผ์์ ์์ฑํ ๋ ์ ์ฉํฉ๋๋ค.
*/
int sum = x + y;
System.out.println("The sum is: " + sum); // ๊ฒฐ๊ณผ ์ถ๋ ฅ
}
}
3. /**...*/ : ๋ฌธ์(JavaDoc) ์ฃผ์
- /**์ */ ์ฌ์ด์ ๋ด์ฉ์ ๋ชจ๋ ์ฃผ์์ผ๋ก ์ฒ๋ฆฌ, ์๋ฐ์ ๋ฌธ์(API)๋ฅผ ๋ง๋ค ๋ ์ฌ์ฉ
/**
* ์ด ํด๋์ค๋ JavaDoc ์ฃผ์์ ๊ฐ๋จํ ์์๋ฅผ ๋ณด์ฌ์ค๋๋ค.
*/
public class SimpleJavaDocCommentExample {
/**
* main ๋ฉ์๋๋ ํ๋ก๊ทธ๋จ์ ์์ ์ง์ ์ ๋ํ๋
๋๋ค.
*
* @param args ๋ช
๋ น์ค ์ธ์
*/
public static void main(String[] args) {
int x = 10;
int y = 20;
int sum = x + y;
System.out.println("The sum is: " + sum);
int product = multiply(x, y);
System.out.println("The product is: " + product);
}
/**
* ๋ ์ซ์๋ฅผ ๊ณฑํ๋ ๋ฉ์๋์
๋๋ค.
*
* @param x ๊ณฑํ ์ฒซ ๋ฒ์งธ ์ซ์
* @param y ๊ณฑํ ๋ ๋ฒ์งธ ์ซ์
* @return ๋ ์ซ์์ ๊ณฑ
*/
public static int multiply(int x, int y) {
return x * y;
}
}
* ์ด ์์๋ JavaDoc ์ฃผ์์ด ํด๋์ค, main ๋ฉ์๋, multiply ๋ฉ์๋์ ์ฌ์ฉ๋จ.
๊ฐ ์ฃผ์์ ํด๋น ์์์ ์ญํ ๊ณผ ๋งค๊ฐ๋ณ์, ๋ฐํ๊ฐ์ ๋ํด ์ค๋ช
ํจ

๋ฐ์ํ