내 ¶
¶
객 로그램 가 개념 나다. 것 바래를 디는 문 미다. 다른 래 보를 동로 록 기 그 래 다른 래 를 명면 된다.
각 래는 래(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, 공공격 가능
메 ¶
- 롯리, 드라군리 만든다.
- 롯로 드라군 공격다.










