More actions
imported>이길상 No edit summary |
No edit summary |
||
| (5 intermediate revisions by 4 users not shown) | |||
| 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; | |||
} | |||
// 상속 오버라이딩 패키지 제어자 다형성 | |||
} | |||
= 숙제 = | = 숙제 = | ||
# 회고 작성 | # 회고 작성 | ||
# 시험 잘보기 | |||
= 회고록 = | = 회고록 = | ||
'''권재민''' | '''권재민''' | ||
* 난이도: /10 | * 난이도: 7/10 | ||
* 후기: | * 후기: 개념을 이해하는데 많은 도움이 되었어요. 타이핑은 따라갈만은 했는데 다시 생각해보니까 좀 정신없이 따라갔던 것 같아요. | ||
---- | ---- | ||
'''이수은''' | '''이수은''' | ||
| Line 56: | Line 151: | ||
---- | ---- | ||
'''김민경''' | '''김민경''' | ||
* 난이도: /10 | * 난이도: 7/10 | ||
* 후기: | * 후기: 실습 병행하니까 이해는 더 쉬웠어요. 가끔씩 쓰던 도중에 화면 넘기셔서 따라쓰기 어렵기도 했는데 따라갈만했습니다. | ||
---- | ---- | ||
'''강필중''' | '''강필중''' | ||
* 난이도: /10 | * 난이도: 6/10 | ||
* 후기: | * 후기: 하나의 주제를 가진 채 수업을 진행하니까 좀 더 나은 것 같아요 | ||
---- | ---- | ||
'''이길상''' | '''이길상''' | ||
* 후기: | * 후기: 난이도를 낮출 필요가 있어보인다. | ||
---- | ---- | ||
Latest revision as of 09:27, 3 May 2021
참여자 명단
| 단장 | 이길상 | 16학번 | 참여 |
| 단원 | 강필중 | 21학번 | 참여 |
| 권재민 | 참여 | ||
| 김민경 | 참여 | ||
| 이수은 | 참여 |
수업
진행
- 장소 : 구글 미츠
- 시간 : 19시 ~ 21시
내용
클래스 실습
- 계산기를 만들어보자
- 덧셈, 뺄셈, 제곱 메서드 만들기
- 생성자와 static 키워드 사용해보기
ppt
- [[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;
}
// 상속 오버라이딩 패키지 제어자 다형성
}
숙제
- 회고 작성
- 시험 잘보기
회고록
권재민
- 난이도: 7/10
- 후기: 개념을 이해하는데 많은 도움이 되었어요. 타이핑은 따라갈만은 했는데 다시 생각해보니까 좀 정신없이 따라갔던 것 같아요.
이수은
- 난이도: /10
- 후기:
김민경
- 난이도: 7/10
- 후기: 실습 병행하니까 이해는 더 쉬웠어요. 가끔씩 쓰던 도중에 화면 넘기셔서 따라쓰기 어렵기도 했는데 따라갈만했습니다.
강필중
- 난이도: 6/10
- 후기: 하나의 주제를 가진 채 수업을 진행하니까 좀 더 나은 것 같아요
이길상
- 후기: 난이도를 낮출 필요가 있어보인다.
숙제 제출
권재민
내용
이수은
내용
김민경
내용
강필중
내용