[[TableOfContents]]

= 참여자 명단 =

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

= 수업 =
== 진행 ==
1. 장소 : 구글 미츠
2. 시간 : 19시 ~ 21시

== ë‚´ìš© ==
'''클래스 실습'''
 * 계산기를 만들어보자
 * 덧셈, 뺄셈, 제곱 메서드 만들기
 * 생성자와 static 키워드 사용해보기

'''ppt'''
 * [[https://drive.google.com/file/d/1RQ6gkH1nWcLxQDt93m_mHp0EZcjRQM12/view?usp=sharing]]
= 코드 =
== 예제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. 회고 작성

2. 시험 잘보기
= 회고록 =
'''권재민'''
 * 난이도: /10
 * 후기: 
----
'''이수은'''
 * 난이도: /10
 * 후기: 
----
'''김민경'''
 * 난이도: 7/10
 * 후기: 실습 병행하니까 이해는 더 쉬웠어요. 가끔씩 쓰던 도중에 화면 넘기셔서 따라쓰기 어렵기도 했는데 따라갈만했습니다.
----
'''강필중'''
 * 난이도: 6/10
 * 후기: 하나의 주제를 가진 채 수업을 진행하니까 좀 더 나은 것 같아요
----
'''이길상'''
 * 후기: 
----

= 숙제 제출 = 
== 권재민 ==
{{{
ë‚´ìš©
}}}
== 이수은 ==
{{{
ë‚´ìš©
}}}
== 김민경 ==
{{{
ë‚´ìš©
}}}
== 강필중 ==
{{{
ë‚´ìš©
}}}
----
-----------------------------------
[새싹교실/2021]
[새싹교실/2021/카라반]