내 ¶
¶
객 로그램 가 개념 나다. 것 바래를 디는 문 미다. 다른 래 보를 동로 록 기 그 래 다른 래 를 명면 된다.
각 래는 래(superclass)를가며 나 래(subclass)를 가다.래들 따라 내려가는 것 된다고 다.
래는 래로부 모든 메드 변들 는다.래가 를 면 나 다른 래로부 복 다. 래는 동로 래 를 동로 가게 된다.바 래 는 Object라는 래가 다. 모든 래는 래로부 는다. 각 래들 목 맞 보를 가로 가게 되는 것다.
바 래를 로 때 대부 다른 래가 가는 보 몇 가 가 보를 가게 것다. 를 들 로 Button 만들려고 다면 래 Button로부 록 기만 면 된다. 따라 Button과 다른 대만 경 면 된다.
러 메 subclassing라고부른다.
각 래는 래(superclass)를가며 나 래(subclass)를 가다.래들 따라 내려가는 것 된다고 다.
래는 래로부 모든 메드 변들 는다.래가 를 면 나 다른 래로부 복 다. 래는 동로 래 를 동로 가게 된다.바 래 는 Object라는 래가 다. 모든 래는 래로부 는다. 각 래들 목 맞 보를 가로 가게 되는 것다.
바 래를 로 때 대부 다른 래가 가는 보 몇 가 가 보를 가게 것다. 를 들 로 Button 만들려고 다면 래 Button로부 록 기만 면 된다. 따라 Button과 다른 대만 경 면 된다.
러 메 subclassing라고부른다.
래 만들기 ¶
많 래를 만들기 는 기 래 고, 만 래 만들 다. 러 만들기 는 몇 가 각 다.
- 다른 래 공 보를 래 고 래 다 록 다.
- 래 를 바꾸면 동로 래 를 바꾸게 다. 따라 가 다.
동 ¶
변 경 래 로 변를 만들다면, 래 변 래 된 모든 변를 가 다. 따라 모든 래들 로 객를 릿 게되고 보를 는 것다.
메드 게 동다.로 객는 래 모든 메드 다. 그러나 메드가 될 때다 동로 메드 가 된다. 객 대 메드를 면 바는 먼 그객 래 메드 를 본다. 그 객 래 되 다면 그 메드 를 발견 때까 래를 게될 것다.
만 래 래 메드 과 똑같 가 메드를 다고 면 떻게 되는가? 것 로 래 는 것 먼 되게 되 다. 러 방로 로 래 메드를 감고 래 메드를 다. 바로 복(overriding)라고 부르는 것다.
메드 게 동다.로 객는 래 모든 메드 다. 그러나 메드가 될 때다 동로 메드 가 된다. 객 대 메드를 면 바는 먼 그객 래 메드 를 본다. 그 객 래 되 다면 그 메드 를 발견 때까 래를 게될 것다.
만 래 래 메드 과 똑같 가 메드를 다고 면 떻게 되는가? 것 로 래 는 것 먼 되게 되 다. 러 방로 로 래 메드를 감고 래 메드를 다. 바로 복(overriding)라고 부르는 것다.
Point 래 ¶
- x,y 값 바로 력는
- x,y
- x값 는 메드, 는 메드
- y값 는 메드, 는 메드
- 래 기
~cpp import javax.swing.JOptionPane; public class Point { private int x; private int y; public Point() { } public Point(int aX, int aY) { // 다. this.x = aX; y = aY; } public int getX() { return x; } public int getY() { return y; } public void setX(int Ax) { x = Ax; } public void setY(int Ay) { y = Ay; } public String getName() { return "Point"; } public void Say(String str) { JOptionPane.showMessageDialog(null, str); } public void Say(int temp) { String str = Integer.toString(temp); JOptionPane.showMessageDialog(null, str); } public static void main(String[] args) { Point P1 = new Point(20,20); Point P2 = new Point(10,10); //RECTANGLE Rectangle p = new Rectangle(P1,P2); // System.out.println(p.getArea()); //circle Circle c = new Circle(P1,P2); System.out.println(c.getArea()); } }
Shape 래 ¶
- x,y, 른래 x,y
- 구는 메드
- 래 기
~cpp public class Shape { protected Point left_top; protected Point right_bottom; public String name; public Shape() { } public Shape ( Point p1 , Point p2) { left_top = p1; right_bottom = p2; name = "Shape"; } public Shape ( int x1, int y1, int x2, int y2) { this.left_top = new Point(x1,y1); this.right_bottom = new Point( x2,y2 ); name = "Shape"; } public double getArea() { return 0; } public String getName() { return name; } }
Circle 래 ¶
~cpp public class Circle extends Shape { private double radius; public Circle() { } public Circle(Point p1, Point p2) { super(p1, p2); name = "Circle"; } public Circle(int x1, int y1, int x2, int y2) { super(x1, y1, x2, y2); name = "Circle"; } public double getArea() { if(Math.abs(left_top.getX()-right_bottom.getX()) >= Math.abs(left_top.getY()-right_bottom.getY())) radius = Math.abs(left_top.getY()-right_bottom.getY()); else radius = Math.abs(left_top.getX()-right_bottom.getX()); return Math.PI * radius * radius; } public String getName() { return super.getName(); } }
Rectangle 래 ¶
~cpp public class Rectangle extends Shape { //right_bottom //Point left_top public Rectangle() { } public Rectangle(Point P1, Point P2) { super(P1, P2); name = "Rectangle"; } public Rectangle(int x1, int y1, int x2, int y2) { super(x1, y1, x2, y2); name = "Rectangle"; } public double getArea() { return Math.abs(right_bottom.getX()-left_top.getX()) * Math.abs(left_top.getY()-right_bottom.getY()); } }
과 ¶
래 ¶
- Unit 래
- HP, 공격력, (공격, 드, 무브, ), 공공격가능부
- 공격다, 드다, 무브다, 다(를 바꿔)
- 공격면 HP가 깎다(달로 공격력 ) (ex public void underattack(int aAttackPoint) )
- HP, 공격력, (공격, 드, 무브, ), 공공격가능부
- 롯(Unit 래를 )
- HP 100, 공격력10, 공공격 가능
- 드 100
- HP 100, 공격력10, 공공격 가능
- 드라군(Unit 래를 )
- HP 150, 공격력20, 공공격 가능
- 드 150
- HP 150, 공격력20, 공공격 가능
메 ¶
- 롯리, 드라군리 만든다.
- 롯로 드라군 공격다.