Daily review(코딩나라 11일차)
처음부터 이론 학습->문제 풀기 -> 익숙해지기 방향으로 공부했는데, 비효율적인거 같아서 방식을 엎었다. 어떻게든 구글링해서 가져다 쓰기 -> 익숙해지기 -> 이론 공부 방식으로 ! 검색해서 남의 코드를 수정을 해서 가져왔고, 직접 타이핑해서 미션을 충족했다. 이제 코드를 하나하나 해부해보면서 내일까지 학습목표에 익숙해지고 이론을 공부해야 겠다.
Daily scrum
Try-catch문 예외처리 공부하기
예외 처리 종류와 사용법 간단한 정리
Mission intro
호눅스曰
조용호님 책(객체지향의 사실과 오해 등)에 대해서 읽어보세요
객체지향세계에서의 객체와 현실세계에서의의 객체는 조금 다른데요.
자율성 여부가 가장 큰 차이에요. 현실세계의 커피의 상태는
자율성이 없잖아요. 즉, '우리가' 커피를 마시면 커피의 양은 줄어들어요.
그러나, 객체지향세계에서는 우리가 "커피야 내가 널 마시겠어" 하면 커피를 마시게 될지 안될지는 '커피가' 결정해요. 커피가 다른 객체의 상태가 맘에들면 '커피맛을 좀 알게 생겼네'하면 커피가 마셔짐을 당해줍니다. ㅋㅋ
Small talk tutorial
Mission
학습 목표
1) 클래스 class, 객체 object, 인스턴스 instance
2) Java에 익숙해지기
package Mission03;
import java.util.Scanner;
public class Point {
static Scanner sc =new Scanner(System.in);
// x 좌표
int x;
// y 좌표
int y;
// 점 생성
Point(int x, int y){
this.x = x;
this.y = y;
}
public Point (){
this(0,0);
}
// 두 점 사이 거리를 연산하여 반환하는 메소드
public double dist(Point p) {
double value = Math.sqrt( (this.x-p.x)*(this.x-p.x) + (this.y-p.y)*(this.y-p.y));
return value;
}
}
package Mission03;
//추상적 메소드를 가지고 있다.
public abstract class Shape {
public Point start,end ;
public Shape(Point p1, Point p2){
this.start = p1;
this.end = p2;
}
//메소드 바디가 없는 추상정 메소드 선언
public abstract double area();
}
package Mission03;
//Shape 의 하위 클래스인 삼각형 클래스
public class Triangle extends Shape {
// 삼각형에 필요한 좌표를 하나 더 설정 합니다.
Point c;
//Point 3개를 받는 클래스를 생성합니다.
public Triangle(Point a, Point b, Point c){
//super class 의 a,b참조
super(a,b);
//기존 c 값을 새로운 c 값으로
this.c = c;
}
//삼각형 넓이 구하는 메소트
public double area(){
double value=0.5*Math.abs(((start.x*end.y+end.x*c.y+c.x*start.y)
-(end.x*start.y+c.x*end.y+start.x*c.y)));
return value;
}
}
package Mission03;
// Shape의 하위 클래스인 Rectangle class 선업
public class Rectangle extends Shape{
// 밑 변 w 높인 h 선언
public double w, h;
//Point 를 2개 받는 Rectangle 클래스 생성
public Rectangle(Point p1, Point p2){
super(p1,p2);
}
// 사각형 넓이 구하는 메소드
public double area(){
w = Math.abs(start.x - end.x);
h = Math.abs(start.y - end.y);
return w*h;
}
}