🟩 ν•¨μˆ˜ μ˜€λ²„λ‘œλ“œ(overload)

 

λ™μΌν•œ κΈ°λŠ₯, λ™μΌν•œ μ΄λ¦„μ˜ λ©”μ†Œλ“œμ— μ—¬λŸ¬κ°€μ§€ 맀개 λ³€μˆ˜λ₯Ό μΆ”κ°€ν•˜μ—¬

 

(ν•˜λ‚˜μ˜ ν•¨μˆ˜ 이름에 맀개 λ³€μˆ˜λ₯Ό κ³Όμ ν•˜μ—¬) κΈ°λŠ₯을 ν™•μž₯μ‹œν‚¨ ν•¨μˆ˜ (μ˜΅μ…˜μ΄ μžˆλŠ” ν•¨μˆ˜)

(EX) print λ©”μ†Œλ“œ, printλΌλŠ” ν•¨μˆ˜μ˜ μ˜λ―ΈλŠ” μ‚΄λ¦¬λ©΄μ„œ μ„ νƒν•΄μ„œ μ‚¬μš©ν•  수 μžˆμ–΄μ‘Œλ‹€.

 

 

μ΄λ•Œ 과적된 λ‚΄μš©μ„ 가지고 μžˆλŠ” 녀석이 κΈ°λ³Έ ν•¨μˆ˜ μ•ˆμ— λ“€μ–΄κ°€λŠ” λ°©λ²•μœΌλ‘œ, μ€‘λ³΅λœ λ‚΄μš©μ„ λ°˜λ³΅μ‹œν‚€μ§€ μ•Šκ³  κ΅¬ν˜„ν•΄ 쀄 수 μžˆλ‹€.

 

→  과적된 μ• λŠ” μΈμžκ°€ 더 λ§Žμ•„μ„œ ν’ˆμ„ 수 μžˆλŠ” μ• κ°€ 많기 λ•Œλ¬Έμ— κ³Όμ ν•¨μˆ˜(μ˜€λ²„λ‘œλ”©)κ°€ κΈ°λ³Έ ν•¨μˆ˜(과적된 λ‚΄μš©μ΄ 없이 기본값을 가진 ν•¨μˆ˜) μ•ˆμœΌλ‘œ 듀어감


κΈ°μ‘΄ ν•¨μˆ˜κ°€ μžˆλŠ”λ° λ™μΌν•œ ν•¨μˆ˜μ— μΌμ • κΈ°λŠ₯을 μΆ”κ°€ν•΄μ„œ μ‚¬μš©ν•˜κ³  싢을 λ•Œ μ‚¬μš©ν•œλ‹€.

 

//성적 좜λ ₯
examPrint(list);
System.out.println();
examPrint(list,3);//Overload(과적) ν•¨μˆ˜

κΈ°μ‘΄ λ©”μ„œλ“œλ₯Ό μ΄μš©ν•˜λ©΄ μ „μ²΄λ‚΄μš©μ„ 좜λ ₯ν•˜λŠ”λ°, 3개만 좜λ ₯ν•˜κ³  싢을 λ•Œ μœ„μ²˜λŸΌ λ§Œλ“¦.


//성적 좜λ ₯
examPrint(list);
System.out.println();
examPrint(list,3);//Overload(과적) ν•¨μˆ˜

 private static void examPrint(ExamList list, int limit) {
        Exam[] exams= list.exams;

        int size = limit;

        int num=1;//성적 λ“±μˆ˜ ν™•μΈμš© 숫자.

        for (int i = 0; i < size; i++) {
            Exam exam = exams[i];
            int kor = exam.kor;
            int eng = exam.eng;
            int math = exam.math;

            int total = exam.total;
            float avg = exam.avg;

//                    if (avg >= 80)//성적 80이상
            System.out.printf("%dλ“± %3d, %3d, %3d, 총점 %3d 평균 %.2f\n", num, kor, eng, math, total, avg);
            num++;
        }

    }
    private static void examPrint(ExamList list) {
        Exam[] exams= list.exams;

        int size = list.index;

        int num=1;//성적 λ“±μˆ˜ ν™•μΈμš© 숫자.

        for (int i = 0; i < size; i++) {
            Exam exam = exams[i];
            int kor = exam.kor;
            int eng = exam.eng;
            int math = exam.math;

            int total = exam.total;
            float avg = exam.avg;

//                    if (avg >= 80)//성적 80이상
            System.out.printf("%dλ“± %3d, %3d, %3d, 총점 %3d 평균 %.2f\n", num, kor, eng, math, total, avg);
            num++;
        }

    }

μœ„μ—μ²˜λŸΌ 짜면 μ½”λ“œκ°€ κΈΈμ–΄μ Έμ„œ μ•„λž˜μ™€ 같이 μž‘μ„±ν•  수 μžˆλ‹€.

 private static void examPrint(ExamList list) {//μ˜€λ²„λ‘œλ“œ ν•¨μˆ˜
        int size = list.index;
        examPrint(list, size);
    }

    private static void examPrint(ExamList list, int limit) {
        Exam[] exams = list.exams;

        int size = limit;

        int num = 1;//성적 λ“±μˆ˜ ν™•μΈμš© 숫자.

        for (int i = 0; i < size; i++) {
            Exam exam = exams[i];
            int kor = exam.kor;
            int eng = exam.eng;
            int math = exam.math;

            int total = exam.total;
            float avg = exam.avg;

//                    if (avg >= 80)//성적 80이상
            System.out.printf("%dλ“± %3d, %3d, %3d, 총점 %3d 평균 %.2f\n", num, kor, eng, math, total, avg);
            num++;
        }

    }

μ•„λž˜ μ½”λ“œλŠ” ν˜Όμžμ„œ μ˜€λ²„λ‘œλ“œ ν•¨μˆ˜λ₯Ό κ΅¬ν˜„ν•΄ λ³Έ 것이닀.

//overloading
	{
        aaprint();
        aaprint(3);
    }

    private static void aaprint() {
        int defaultNum = 10;//κΈ°λ³Έ κ°’ 10
        aaprint(defaultNum);
    }

    private static void aaprint(int limit) {
        int size = limit;
        for (int i = 0; i < limit; i++)
            System.out.println("좜λ ₯");
    }

+ Recent posts