๐ŸŸช Backend-Java

2. ์ž๋ฐ” ์–ธ์–ด์˜ ๊ตฌ์„ฑ : Hello Java!/์ฝ”๋“œ ํ”„๋กœ์„ธ์Šค/์ž๋ฐ” ์ฃผ์„์˜ ์ข…๋ฅ˜

ramen2 2024. 6. 23. 15:37
๋ฐ˜์‘ํ˜•

๐Ÿ“Œ ๊ธฐ์ดˆ์ง€์‹

๐Ÿ”ต์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ 

  • 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)(๋นจ๊ฐ›๊ณ  ๋‘ฅ๊ทผ๋ฌผ์ฒด=์‚ฌ๊ณผ)

ํŒŒ์ผ ์ฝ”๋“œ ๊ตฌ์„ฑ ์˜ˆ์‹œ

*ํด๋ž˜์Šค๋ฅผ ์ •์˜ํ•˜๋Š” ํ‚ค์›Œ๋“œ๋Š” ์ž๋ฐ”๊ฐ€ ๊ธฐ๋ณธ์ œ๊ณต ํ•ด์ฃผ๋Š” ๋ถ€๋ถ„

 


๐Ÿ”ต์šฉ์–ด ์ •๋ฆฌ

  1. ํด๋ž˜์Šค
    - ์ž๋ฐ”์—์„œ ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋‹จ์œ„
    - ํ•˜๋‚˜ ์ด์ƒ์˜ ํด๋ž˜์Šค๊ฐ€ ์žˆ์–ด์•ผ ํ•˜๋ฉฐ ์†Œ์ŠคํŒŒ์ผ์˜ ์ด๋ฆ„์ด ๋ฉ”์ธ ํด๋ž˜์Šค(public class ooo) ์ด๋ฆ„๊ณผ ๋™์ผํ•ด์•ผํ•จ
  2. ๋ฉ”์„œ๋“œ
    - ์ˆ˜ํ–‰ํ•  ์ž‘์—…์„ ๋‚˜์—ดํ•œ ์ฝ”๋“œ์˜ ์ง‘ํ•ฉ
    - ์ž๋ฐ”์—์„œ ๊ธฐ๋Šฅ ์ˆ˜ํ–‰์„ ๋‹ด๋‹นํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ๋™์ž‘์ฝ”๋“œ๋Š” ๋ชจ๋‘ ๋ฉ”์„œ๋“œ ์•„๋ž˜์—์„œ ์ž‘์„ฑ๋ผ์•ผํ•จ
  3. ์‹คํ–‰๋ฌธ
    - ๋ฉ”์„œ๋“œ ๋‚ด์—์„œ ์‹ค์ œ๋กœ ๋™์ž‘ํ•˜๋Š” ๋‚ด์šฉ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ตฌ๋ฌธ
    - ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์ž๋ฐ”์—์„œ ์ฃผ์–ด์ง€๋Š” ๊ธฐ๋Šฅ๊ณผ ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ๋งŒ๋“ฌ

 


๐Ÿ”ต์ฃผ์„์˜ ์ข…๋ฅ˜

  1. // : ํ–‰ ์ฃผ์„
    - // ๋ถ€ํ„ฐ ๊ทธ ์ค„ ๋๊นŒ์ง€ ์ฃผ์„์œผ๋กœ ์ฒ˜๋ฆฌ, ์ฃผ์„ ๋‚ด์šฉ์ด ํ•œ ์ค„ ์ผ๋•Œ ์‚ฌ์šฉ
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 ๋ฉ”์„œ๋“œ์— ์‚ฌ์šฉ๋จ.
๊ฐ ์ฃผ์„์€ ํ•ด๋‹น ์š”์†Œ์˜ ์—ญํ• ๊ณผ ๋งค๊ฐœ๋ณ€์ˆ˜, ๋ฐ˜ํ™˜๊ฐ’์— ๋Œ€ํ•ด ์„ค๋ช…ํ•จ

 

 

 

 

 

 

ํ™”์ดํŒ… ๋ถ€๋ฆ‰๋ถ€๋ฅด๋ฆ‰

 

๋ฐ˜์‘ํ˜•