ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Java ๊ธฐ์ดˆ] 6. ๋ณต์ˆ˜ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•œ ๊ฐœ๋ฐœ
    Dev/Java 2023. 3. 12. 03:25
    728x90

    ๐Ÿ‘€์œ ์šฉํ•œ ์ •๋ณด

    ํ•ด๋‹น ๋ณ€์ˆ˜ Rename (eclipse)

    • ๋ณ€์ˆ˜ ์šฐํด๋ฆญ - Refacto - Rename
    • Alt + Shift + R

    import ์ •๋ฆฌ

    • ctrl+ shift+ o
    ๐Ÿ’ก
    ctrl + shift + f์™€ ํ•จ๊ป˜ ์ž์ฃผ ๋ˆŒ๋Ÿฌ์ฃผ์ž.

    double์˜ ์†Œ์ˆ˜์  ์˜ค์ฐจ ๋ณด์ • (๋ถ€๋™ ์†Œ์ˆ˜์  ๋ณด์ •)

    • ๋ถ€๋™ ์†Œ์ˆ˜์ ์˜ ๊ฐ€์ˆ˜๋ถ€ 15์ž๋ฆฌ๋ฅผ ๋„˜์–ด์„œ๋ฉด ์˜ค๋ฒ„ ํ”Œ๋กœ์šฐ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋˜์–ด ๊ฐ’์˜ ์˜ค์ฐจ๊ฐ€ ๋ฐœ์ƒํ•˜๊ฒŒ ๋œ๋‹ค (๋ถ€๋™์†Œ์ˆ˜์  ์ˆ˜์˜ ํ‘œํ˜„ ๋ฒ”์œ„)
    • 10์ง„์ˆ˜๋กœ๋Š” ์œ ํ•œ ์†Œ์ˆ˜์ด์ง€๋งŒ, 2์ง„์ˆ˜๋กœ ๋ฌดํ•œ ์†Œ์ˆ˜์ธ ๊ฒฝ์šฐ ์˜ค์ฐจ ๋ฐœ์ƒ
    ๐Ÿ’ก
    double์˜ ์˜ค์ฐจ epsilon ๊ฐ’์„ ์ด์šฉํ•˜์—ฌ ์˜ค์ฐจ ๋ณด์ • ๊ฐ€๋Šฅ

    ๐Ÿ’ก5์žฅ ํ”ผ๋“œ๋ฐฑ Tip

    ๐Ÿ’ก
    ๋ฉ”์†Œ๋“œ ์ž‘์„ฑ ์‹œ, ์žฌ์‚ฌ์šฉ์„ฑ์„ ํ•ญ์ƒ ๊ณ ๋ คํ•˜์ž! (์ฝ”๋“œ ์˜์กด์„ฑ ์ค„์ด๊ธฐ)


    ๐Ÿ“˜ 6์žฅ ๋ณต์ˆ˜ ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•œ ๊ฐœ๋ฐœ

    ์†Œ์Šค ํŒŒ์ผ์˜ ๋ถ„๋ฆฌ

    ๋Œ€๊ทœ๋ชจ ๊ฐœ๋ฐœ์—์„œ๋Š” ํ˜ผ์ž ๊ฐœ๋ฐœ์ด ์–ด๋ ต๊ณ , ๋ถ„๋‹ด ํ˜‘์—… ํ•˜์—ฌ ์†Œ์Šค๋ฅผ ๋ชจ๋“ˆํ™” ํ•ด์•ผ ํ•œ๋‹ค.

    (1๊ฐœ์˜ ์†Œ์Šค ํŒŒ์ผ๋กœ๋Š” ๊ฐœ๋ฐœ์˜ ํ•œ๊ณ„)

    ๊ณ„์‚ฐ๊ธฐ ํ”„๋กœ๊ทธ๋žจ

    import java.util.Arrays;
    
    public class Main {
    
        public static void main(String[] args) {
            int a = 10;
            int b = 2;
            int total = add(a, b);
            int delta = minus(a, b);
            System.out.println("๋”ํ•˜๋ฉด " + total + ", ๋นผ๋ฉด " + delta);
        }
        
        private static int add(int a, int b) {
            return a + b;
        }
        
        private static int minus(int a, int b) {
            return a - b;
        }
    }

    ๊ณ„์‚ฐ ํด๋ž˜์Šค ๋ถ„๋ฆฌ

    public class CalcLogic {
        public static int add(int a, int b) {
            return a + b;
        }
    
        public static int minus(int a, int b) {
            return a - b;
        }
    }
    import com.example.logics.CalcLogic;
    
    public class Main {
    
        public static void main(String[] args) {
            int a = 10;
            int b = 20;
            int total = CalcLogic.add(a, b);
            int delta = CalcLogic.minus(a, b);
            System.out.println("๋”ํ•˜๋ฉด " + total + ", ๋นผ๋ฉด " + delta);
        }
    
    }

    ํŒจํ‚ค์ง€ (package)

    Java์—์„œ๋Š” ๊ฐ ํด๋ž˜์Šค๋ฅผ ํŒจํ‚ค์ง€(package) ๋ผ๋Š” ๊ทธ๋ฃน์— ์†Œ์†์‹œ์ผœ, ๋ถ„๋ฅ˜, ๊ด€๋ฆฌ๊ฐ€ ๋˜๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค.

    ๐Ÿ’ก
    main() ๋ฉ”์†Œ๋“œ์˜ ๋ผ์ธ์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚˜๋ฉด, ๋ฉ”์†Œ๋“œ ๋ถ„๋ฆฌ โ†’ ๋ฉ”์†Œ๋“œ ์ˆ˜ ๋Š˜์–ด๋‚˜๋ฉด, ๋ณต์ˆ˜์˜ ํด๋ž˜์Šค๋กœ ๋ถ„๋ฆฌ โ†’ ํด๋ž˜์Šค ์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚˜๋ฉด ๋ณต์ˆ˜์˜ ํŒจํ‚ค์ง€๋กœ ๋ถ„๋ฆฌ

    ํŒจํ‚ค์ง€ ๋ถ„๋ฆฌํ•˜๊ธฐ

    ๐Ÿ’ก
    Calc ํด๋ž˜์Šค์™€ CalcLogic์˜ ํด๋ž˜์Šค๋ฅผ ๋ถ„๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ ํŒจํ‚ค์ง€ ์ƒ์„ฑ

    ๐Ÿ’ก
    ๊ฐ class ํŒŒ์ผ์„ ์ƒˆ๋กœ ์ƒ์„ฑํ•œ ํŒจํ‚ค์ง€๋กœ ์ด๋™

    ๐Ÿ’ก
    ํ•ด๋‹น ์†Œ์Šค ์ฝ”๋“œ์— ๋ณ€๊ฒฝ๋œ ํŒจํ‚ค์ง€ ์ฝ”๋“œ

    ๋‹ค๋ฅธ ํŒจํ‚ค์ง€์— ์žˆ๋Š” ํด๋ž˜์Šค ํ˜ธ์ถœ

    import๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ

    ๐Ÿ’ก
    com.example.logics.CalLogic ์ด์ฒ˜๋Ÿผ ๋ชจ๋“  ํŒจํ‚ค์ง€ ์ฃผ์†Œ์™€ ํด๋ž˜์Šค๋ช…์„ ๋ช…์‹œํ•ด์„œ ํ˜ธ์ถœ

    ์ด๋ฆ„ ๊ณต๊ฐ„ (name space)

    ์ž์‹ ์ด ์ž‘์„ฑํ•œ ํด๋ž˜์Šค์— ๋Œ€ํ•ด, ๊ฐœ๋ฐœ์ž๊ฐ€ ์ž์œ ๋กœ์šด ์ด๋ฆ„์„ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

    ํŒจํ‚ค์ง€๋ช… ์ž์ฒด์˜ ์ถฉ๋Œ์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด ๋ณด์œ ํ•œ ๋„๋ฉ”์ธ์˜ ์•ž๋’ค๋ฅผ ๋ฐ”๊พธ์–ด ํŒจํ‚ค์ง€๋ช…์œผ๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

    ํŒจํ‚ค์ง€๋ช…

    ๐Ÿ’ก
    com.๋„๋ฉ”์ธ๋ช….ํด๋ž˜์Šค

    ๋‹ค๋ฅธ ํŒจํ‚ค์ง€์— ์žˆ๋Š” ํด๋ž˜์Šค ์œ„์น˜ import

    ๐Ÿ’ก
    ํ•ด๋‹น ํด๋ž˜์Šค๊ฐ€ ์œ„์น˜ํ•œ ํŒจํ‚ค์ง€๋ฅผ importํ•˜๋ฉด, ๊ทธ ํŒจํ‚ค์ง€๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ ๋งค๋ฒˆ ์œ„์น˜๋ฅผ ๋ช…์‹œํ•˜์ง€ ์•Š๊ณ , ์ƒ๋žตํ•  ์ˆ˜ ์žˆ๋‹ค! (full package ์ง€์ • ์ƒ๋žต)

    Java API

    ๐Ÿ’ก
    API(Application Programming Interface(์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ธํ„ฐํŽ˜์ด์Šค))

    Java API ์‚ฌ์šฉ ์˜ˆ์‹œ

    import java.util.Arrays;
    
    public class Main {
    
        public static void main(String[] args) {
            int[] heights = {170, 240, 300, 15, 320};
            Arrays.sort(heights);  //java sort ์ •๋ ฌ API ์‚ฌ์šฉ
            
            for (int height : heights) {
                System.out.println(height);
            }
        }
    }

    ๐Ÿ’ก
    sort()๋กœ ์ •๋ ฌ๋œ heights๋Š” call by refference๋กœ ์›๋ž˜์˜ ๋ฐฐ์—ด ๋ณ€์ˆ˜ ๊ฐ’ ์ž์ฒด๊ฐ€ ๋ณ€ํ•˜๊ฒŒ ๋œ๋‹ค.

    java API์— ํฌํ•จ๋œ ๋Œ€ํ‘œ์ ์ธ ํŒจํ‚ค์ง€

    ๐Ÿ’ก
    String, System ๋“ฑ์€ java.lang์— ์†ํ•ด์žˆ์–ด์„œ ๊ฐœ๋ณ„ import์—†์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

    API reference

    API reference for Java Platform, Standard Edition
    https://docs.oracle.com/en/java/javase/11/docs/api/java.base/module-summary.html
    ๐Ÿ’ก
    ๊ณต์‹ ๋ฌธ์„œ๋ฅผ ๋ณด๋Š” ์Šต๊ด€์„ ๋“ค์ด์ž

    ์ถœ๋ ฅ ํฌ๋ฉง


    ๐Ÿ“์—ฐ์Šต ๋ฌธ์ œ

    6-1

    import java.lang.Thread;
    
    public class Exam6_1 {
    
        public static void main(String[] args) throws Exception {
            System.out.println("3์ดˆ๊ฐ„ ๊ธฐ๋‹ค๋ฆผ!");
            Thread.sleep(3000);
            System.out.println("๋");
        }
    }

    6-2

    public class Exam6_2 {
    
        public static void main(String[] args) {
    
            for (int i = 1; i < 10; i++) {
                for (int j = 2; j < 10; j++) {
                    if (j == 9) {
                        System.out.printf("%d * %d = %2d", j, i, j * i);
                    } else {
                        System.out.printf("%d * %d = %2d \t", j, i, j * i);
                    }
                }
                System.out.println();
            }
        }
    }

    6-3

    public class Exam6_3 {
    
        public static void main(String[] args) {
            
            for (int i = 0; i < 60; i++) {
                for (int j = 1; j <= 12; j++) {
                    if (j == 12) {
                        System.out.printf("%d:%02d", j, i);
                    } else {
                        System.out.printf("%d:%02d ", j, i);
                    }
                }
                System.out.println();
            }
        }
    }

    6-4

    import java.util.Random;
    import java.util.Scanner;
    
    public class Exam6_4 {
    
        public static void main(String[] args) {
            Scanner sc = new Scanner(System.in);
            Random random = new Random();
            System.out.println("๋˜์งˆ ํšŸ์ˆ˜๋ฅผ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”");
            long tries = sc.nextLong();
            int hits = 0;
    
            for (int i = 0; i < tries; i++) {
                // -1.0 ~ +1.0 ๋‚œ์ˆ˜ ์ƒ์„ฑ
                double x = random.nextDouble() * 2 - 1;
                double y = random.nextDouble() * 2 - 1;
                if (Math.sqrt(x * x + y * y) <= 1) {
                    hits++;
                }
            }
    
            double piEstimate = 4 * hits / (double) tries;
            System.out.println(piEstimate);
        }
    }
    ๐Ÿ’ก
    ์‹ค์ œ PI์™€ ๊ฐ€๊นŒ์šด ๊ฐ’์ด ๋‚˜์™”๋‹ค!

    Uploaded by N2T

    728x90
    ๋ฐ˜์‘ํ˜•

    ๋Œ“๊ธ€

Keydi's Tistory