[TIL] 240125

Geehyun(장지현)·2024년 1월 26일

TIL

목록 보기
22/70
post-thumbnail

Today

  • Do it! 자바 완전 정복
    • 클래스의 다형성과 상속 수업진행
    • 자바 일반 제어자 final, abstract 수업 진행
    • 최상위 클래스 object 수업진행
    • 클래스의 상속을 이용해서 오버라이딩 실습 (구구단 활용)
class Gugudan {
    int[] multiple = {1,2,3,4,5,6,7,8,9};
    int[][] dan(int rows) {
        int[][] dan = new int[rows][multiple.length];
        for(int i = 0; i < dan.length; i++) {
            for(int j = 0; j < multiple.length; j++) {
                dan[i][j] = (2+i) * multiple[j];
            }
        }
        return dan;
    }
    void printDan(int[][] dan){
        for(int i = 0; i < dan.length; i++) {
            System.out.printf("    %d단             \n",dan[i][0]);
            System.out.println("-----------         ");
        }
        for(int i = 0; i < multiple.length; i++) {
            for(int j = 0; j < dan.length; j++) {
                System.out.printf("%d X %d = %2d          ",dan[j][0], multiple[i], dan[j][i]);
            }
            System.out.println();
        }
    }
}

class ChildGugudan1 extends Gugudan {

    void printDan(int[][] dan){
        for(int i = 0; i < dan.length; i++) {
            System.out.printf("    %d단             ",dan[i][0]);
            if (i == (dan.length-1)) {
                System.out.println();
                System.out.println("-----------         -----------         -----------         -----------");
            }
        }
        for(int i = 0; i < multiple.length; i++) {
            for(int j = 0; j < dan.length; j++) {
                    System.out.printf("%d X %d = %2d          ",dan[j][0], multiple[i], dan[j][i]);
            }
            System.out.println();
        }
    }
}

class  ChildGugudan2 extends Gugudan {

    int[][] dan(int rows) {
        int[][] dan = new int[rows][multiple.length];
        for(int i = 0; i < dan.length; i++) {
            for(int j = 0; j < multiple.length; j++) {
                dan[i][j] = (6+i) * multiple[j];
            }
        }
        return dan;
    }

    void printDan(int[][] dan){
        for(int i = 0; i < dan.length; i++) {
            System.out.printf("    %d단             ",dan[i][0]);
            if (i == (dan.length-1)) {
                System.out.println();
                System.out.println("-----------         -----------         -----------         -----------");
            }
        }
        for(int i = 0; i < multiple.length; i++) {
            for(int j = 0; j < dan.length; j++) {
                System.out.printf("%d X %d = %2d          ",dan[j][0], multiple[i], dan[j][i]);
            }
            System.out.println();
        }
    }
}

class Multiple {
    int mul(int a, int b) {
        return a * b;
    }

    void  printDan(int[][] e) {
        System.out.println(e[0][0]);
    }
}

class  GuguSecond extends Multiple {
    int[] multiple = {1,2,3,4,5,6,7,8,9};
    int[] dan = {2,3,4,5,6,7,8,9};
    int[][] makeGugudan() {
        int[][] gugudan = new int [dan.length][multiple.length];
        for(int i = 0; i < gugudan.length; i++) {
            for(int j = 0; j < multiple.length; j++){
                gugudan[i][j] = super.mul(dan[i], multiple[j]);
            }
        }
        return gugudan;
    }

    void printDan(int[][] dan) {
        //2~5
        for(int i = 0; i < 4; i++) {
            System.out.printf("    %d단             ",dan[i][0]);
            if (i == 3) {
                System.out.println();
                System.out.println("-----------         -----------         -----------         -----------");
            }
        }
        for(int i = 0; i < multiple.length; i++) {
            for(int j = 0; j < 4; j++) {
                System.out.printf("%d X %d = %2d          ",dan[j][0], multiple[i], dan[j][i]);
            }
            System.out.println();
        }
        //6~9
        for(int i = 4; i < 8; i++) {
            System.out.printf("    %d단             ",dan[i][0]);
            if (i == 7) {
                System.out.println();
                System.out.println("-----------         -----------         -----------         -----------");
            }
        }
        for(int i = 0; i < multiple.length; i++) {
            for(int j = 4; j < 8; j++) {
                System.out.printf("%d X %d = %2d          ",dan[j][0], multiple[i], dan[j][i]);
            }
            System.out.println();
        }
    }
}

Review

  • 클래스의 다형성 관련해서 내용 자체는 이해는 가나, 왜 그렇게 쓰는지 이해가 잘안되었으나 오버라이딩을 배우고.....음....이래서 쓰는건가라고 느낌만 잡은것같다.
  • 최상위 클래스 object 관련해서 좀 더 내용을 살펴봐야할 것 같다.

TO DO

  • JAVA 수업진도 나간거 복습하기
    • 클래스 부분 외부구조 관련하여 정리 진행필요 - 오버로드 메서드 부분 안에 추가 정리 필요
  • 블로그 프로젝트 매일 조금씩 고도화 해가기
    • 레이어 팝업 실제 내용 원고 생각해보기
profile
블로그 이전 했습니다. 아래 블로그 아이콘(🏠) 눌러서 놀러오세요

0개의 댓글