20210114 개발공부일지

NOAH·2021년 1월 14일
1
post-thumbnail

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;
    }

}

0개의 댓글