데이터 과학

추상화 예제 본문

AP/AP Computer Science A

추상화 예제

티에스윤 2024. 10. 29. 15:23

추상화 예제입니다. 

 

abstract class Shape
{
private String name;

 

//constructor
public Shape(String shapeName) {

    name = shapeName; }


public String getName()
{ return name; }

 

public abstract double area(); //하위 클래스에서 오버라이딩 발생
public abstract double perimeter();

 

public double semiPerimeter()
{ return perimeter() / 2; }

}


class Circle extends Shape
{
private double radius;
//constructor
public Circle(double circleRadius, String circleName)
{
super(circleName);
radius = circleRadius;
}
public double perimeter()   //오버라이딩
{ return 2 * Math.PI * radius; }


public double area()  //오버라이딩
{ return Math.PI * radius * radius; }
}


class Square extends Shape
{
private double side;
//constructor
public Square(double squareSide, String squareName)
{
super(squareName);
side = squareSide;
}
public double perimeter()
{ return 4 * side; }
public double area()
{ return side * side; }
}

public class AA{
public static void main(String args[]) {
      Shape circ = new Circle(10, "circle");
      Shape sq = new Square(9.4, "square");
System.out.println(circ.getName());
System.out.println(circ.area());
System.out.println(sq.getName());
System.out.print(sq.area());
    }
}

 

 

 

결과

 

circle
314.1592653589793
square
88.36000000000001