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

새싹교실/2021/카라반/0405: Difference between revisions

From ZeroWiki
imported>김민경
No edit summary
imported>이길상
No edit summary
Line 40: Line 40:
= 코드 =
= 코드 =
== 예제1 ==
== 예제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;
    }
    // 상속 오버라이딩 패키지 제어자 다형성
}


= 숙제 =
= 숙제 =

Revision as of 11:21, 5 April 2021

참여자 명단

단장 이길상 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. 회고 작성

2.

회고록

권재민

  • 난이도: /10
  • 후기:

이수은

  • 난이도: /10
  • 후기:

김민경

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

강필중

  • 난이도: /10
  • 후기:

이길상

  • 후기:

숙제 제출

권재민

내용

이수은

내용

김민경

내용

강필중

내용


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