JAVA/예제

[JAVA] ch07-01. 객체 지향

밍글링글링 2017. 8. 22.
728x90
public class Ex01{// 모든클래스는 상속되어있다. public class Ex01 extends Object  생략됨
    public static void main(String[] args){
        Ex01 e = new Ex01();
        e.paint();
    }

    void paint(){
        Point[] p = {new Point(100,100), new Point(140,50), new Point(200,100)};
        Triangle t = new Triangle(p);
        Triangle tp = new Triangle(new Point(100,100), new Point(140,50), new Point(200,100));
        Circle c = new Circle(new Point(150,150), 50);
        System.out.println(t);
        System.out.println(c);
    }
}

class Point{ // 도메인 클래스 점
    int x;
    int y;
    
    Point(){
        this(0,0); //파라미터 생성자 실무적으로는 많이는 안씀
    }
    Point(int x, int y){
        this.x = x;
        this.y = y;
    }
    public String toString(){
        return String.format("(%d, %d)", x,y); //재정의
    }// (=)
    /*public String toString(){
        return "("+x+","+y+")";
    }*/
}

class Circle{ //원
    Point center; //중심점
    int r; // 반지름
    
    Circle(){
        this(new Point(0,0), 100);
    }
    Circle(Point center, int r){
        this.center = center;
        this.r = r;
    }
    public String toString(){
        return "[Circle]" + center + " " + r;
    }
}

class Triangle{
    Point[] p; // Point[] p;
    
    Triangle(Point[] p){ //배려
        this.p = p;
    }
    
    Triangle(Point p0, Point p1, Point p2){
        p = new Point[3];
        p[0] = p0;
        p[1] = p1;
        p[2] = p2;
    }
    public String toString(){
    String result = "";
    for(Point tmp:p) result += tmp.toString(); // point(주머니)에 있는 p 컬렉션객체들이 다 진행될때까지 
    // 게시판에서 자주씀 게시판(주머니) 글(객체)
    return "[Triangle]" + result;
    }
}

 

 

728x90

'JAVA > 예제' 카테고리의 다른 글

[JAVA] ch07-03. 객체 지향 3  (0) 2017.08.22
[JAVA] ch07-02. 객체 지향 2  (0) 2017.08.22
[JAVA] ch06-10. 배열 (Array) 10  (0) 2017.08.22
[JAVA] ch06-09. 배열 (Array) 9  (0) 2017.08.22
[JAVA] ch06-08. 배열 (Array) 8  (0) 2017.08.22

댓글