±Û¾´ÀÌ :ÀÚ»çÀÎ 1999³â 10¿ù 11ÀÏ 10:34:19
Ãß»óŬ·¡½º¸¦ ¾Æ·¡¿Í °°ÀÌ ¼±¾ðÇÏ°í
public abstract class Shape {
public abstract double area();
public abstract double circumference();
}
Ãß»óŬ·¡½º¸¦ »ó¼Ó¹Þ´Â ¼ºêŬ·¡½º(Circle,Rectangle)´Â ´ÙÀ½°ú °°À»¶§
class Circle extends Shape {
protected int r;
public Circle(){
r=0;
}
public Circle(int r) {
this.r=r;
}
public double circumference(){
return Math.PI* 2*r;
}
public double area(){
return Math.PI*r*r;
}
public int getRadius(){
return r;
}
public void setRadius(int r){
this.r=r;
}
}
class Rectangle extends Shape{
protected int width,height;
public Rectangle(){
width=0;
height=0;
}
public Rectangle(int w,int h){
width=w;
height=h;
}
public double circumference(){
return 2 *(width+height);
}
public double area(){
return width*height;
}
public int getWidth(){
return width;
}
public int getHeight(){
return height;
}
public void setSize(int w,int h){
width=w;
height=h;
}
}
¸ÞÀÎÇÔ¼ö¸¦ È£ÃâÇϴ Ŭ·¡½º´Â
class ShapeUser {
public static void main(String args[]){
Shape shape[]=new Shape[3];
shape[0]=new Circle(5);
shape[1]=new Circle(7);
shape[2]=new Rectangle(9,5);
System.out.println("shape[0]'s area=" +shape[0].area());
System.out.println("shape[1]'s area="+shape[1].area());
System.out.println("shape[2]'s area="+shape[2].area());
}
}
ÀÌ·¸°Ô µÇ¾îÀÖ´Â ¼Ò½ºÀÔ´Ï´Ù.
±Ùµ¥ Á¦°¡ ¹¯°í ½ÍÀº °ÍÀº ShapeUser Ŭ·¡½º¿¡¼ Shape¸¦ »ó¼Ó¹Þ´Â ¼±¾ð¾øÀÌ ¾î¶»°Ô Shape °´Ã¼¸¦ »ý¼ºÇÒ ¼ö ÀÖ´Â³Ä ÀÔ´Ï´Ù.(ÁøÂ¥ Ãʺ¸ÀûÀÎ Áú¹®ÀÌÁö¿ä?)
±×°ÍÀÌ ShapeŬ·¡½º°¡ public À¸·Î ¼±¾ðµÇ¾îÀֱ⠶§¹®Àΰ¡¿ä? ±×·¸´Ù ÇÏ´õ¶óµµ Shape ÀÇ °´Ã¼¸¦ »ý¼ºÇϰųª ¸Þ¼Òµå¸¦ »ç¿ëÇϱâ À§Çؼ´Â ¸ÕÀú »ó¼ÓÀ» ¹Þ¾Æ¾ß ÇÏ´Â °ÍÀÌ ¾Æ´ÑÁö.. ÇÏ¿©°£ ³Ê¹« Ãʺ¸ÀûÀÎ Áú¹®À̶ó°í ¿Ü¸éÇÏÁö ¸¶½Ã°í Á» ¾Ë·ÁÁÖ¼¼¿ä..