// File Name : Sample01.java
// abstract class Sample
abstract class Shape
{
double a=1, b=1, c=1;
Shape() {}
Shape(double a) {this.a = a;}
Shape(double a, double b) {this.a=a; this.b=b;}
public abstract double getArea(); // abstract method 1
public abstract double getCircum(); // abstract method 2
}
class Circle extends Shape
{
static final double PI=3.14;
Circle(double a) {super(a);}
public double getArea() {return a*a*PI;}
public double getCircum() {return 2*a*PI;}
}
class Rectangular extends Shape
{
Rectangular(double a, double b) {super(a, b);}
public double getArea() { return a*b;}
public double getCircum() {return a+a+b+b;}
}
//main Class
public class Sample01
{
// main Function
public static void main (String[] ar) throws IOException
{
// class Sample main_function
double a=3.0, b=5.0;
Circle c = new Circle(a);
Rectangular d = new Rectangular(a, b);
System.out.println("원의 반지름 " + a);
System.out.println("원의 넓이 : " + c.getArea() + "원의 둘레 : " + c.getCircum());
System.out.println("사각형의 가로 : " + a + "사각형의 세로 : " + b);
System.out.println("사각형의 넓이 : " + d.getArea() + "사각형의 둘레 : " + d.getCircum());
}
}