Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

새싹교실/2021/카라반/0405

From ZeroWiki

참여자 명단

단장 이길상 16학번 참여
단원 강필중 21학번 참여
권재민 참여
김민경 참여
이수은 참여

수업

진행

  1. 장소 : 구글 미츠
  2. 시간 : 19시 ~ 21시

내용

클래스 실습

  • 계산기를 만들어보자
  • 덧셈, 뺄셈, 제곱 메서드 만들기
  • 생성자와 static 키워드 사용해보기

ppt

코드

예제1

public class App3 {
    public static void main(String[] args) {
        
        System.out.println("범위: " +  Calc.range);
        Calc.changeRange(999);

        Calc calc1 = new Calc(99); // <- 객체

        Calc calc2 = new Calc(9);

        calc1.add(30, 70);
        calc2.sub(-1000, 9000);
        // ctrl + f5

        calc1.rec();
        calc2.rec();

        // sysout
        System.out.println("생산번호: " + calc1.numbering + "," + calc2.numbering);

        calc1.add(2.5, 3.5);
        calc1.add(1,2,3,4,5,6,7,8,9,10);

        Calc calc3 = new Calc();
        Calc calc4 = new Calc(9999);

        System.out.println("생산번호: " + calc3.numbering + "," + calc4.numbering);

        System.out.println("제곱: " +  calc3.calculate(2, 4));

    }
}

class Calc { //<-- 클래스
    double recent; //인스턴스 변수
    int numbering;

    static int count = 0; //클래스 변수
    static int range = 9999;

    Calc(){ //<-- 생성자
        count++;
        numbering = count;
    }

    Calc(int r){
        this();
        range = r;
    }

    void add(int a, int b){ // <-- 인스턴스 메서드
        recent = a+b;
        if(recent > range){
            recent = range;
        }
        System.out.println("덧셈: " + recent);
    }

    void add(double a, double b){ // <- 메서드 오버로딩
        recent = a + b;
        System.out.println("실수 덧셈: " + recent);
    }

    void add(int ... numbers){ // <- 가변 인자
        recent = 0;
        for(int i = 0; i< numbers.length; i++){
            recent += numbers[i];
        }
        System.out.println("여러개의 숫자 더하기: " + recent);
    }

    double sub(int a, int b){  
        recent = a-b;
        if(recent < -range){
            recent = -range;
        }
        return recent;
    }

    int calculate(int x, int n){
        if(n == 0){
            return 1;
        }
        return calculate(x, n-1)*x;
    }

    void rec(){
        System.out.println("최근 값:" + recent);
    }

    static void changeRange(int n){ // <-- 클래스 메서드
        range = n;
    }

    // 상속 오버라이딩 패키지 제어자 다형성
}

숙제

  1. 회고 작성
  1. 시험 잘보기

회고록

권재민

  • 난이도: 7/10
  • 후기: 개념을 이해하는데 많은 도움이 되었어요. 타이핑은 따라갈만은 했는데 다시 생각해보니까 좀 정신없이 따라갔던 것 같아요.

이수은

  • 난이도: /10
  • 후기:

김민경

  • 난이도: 7/10
  • 후기: 실습 병행하니까 이해는 더 쉬웠어요. 가끔씩 쓰던 도중에 화면 넘기셔서 따라쓰기 어렵기도 했는데 따라갈만했습니다.

강필중

  • 난이도: 6/10
  • 후기: 하나의 주제를 가진 채 수업을 진행하니까 좀 더 나은 것 같아요

이길상

  • 후기: 난이도를 낮출 필요가 있어보인다.

숙제 제출

권재민

내용

이수은

내용

김민경

내용

강필중

내용


새싹교실/2021 새싹교실/2021/카라반