데이터 과학

추상화와 super 예제 본문

AP/AP Computer Science A

추상화와 super 예제

티에스윤 2024. 6. 4. 12:50

이번 예제는 Shape이라는 추상클래스에서 Circle과 Square라는 클래스를 상속하는 예제입니다. 

 

 

 

abstract class Shape {
   private String name; 

 

   public Shape(String shapeName) { //constructor

       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;

   public Circle(double circleRadius, String circleName) { //constructor

       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;

   public Square(double squareSide, String squareName) { //constructor

   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.println(sq.area());
    }
}

 

 

결과 

 

 

 

AA.java
0.00MB

 

 

 

https://tsyoon.tistory.com/184

 

상속 예제

상속에 대한 예제입니다. 예제 1) 상속과 오버라이딩에 대한 예제입니다. 아래 예제는 이 컴파일러에서 실행하면 결과가 나옵니다. https://www.programiz.com/java-programming/online-compiler/ class Main { public st

tsyoon.tistory.com

 

 

https://tsyoon.tistory.com/119

 

추상 클래스와 오버라이딩

추상(Abstract) 클래스에 대한 예제를 보면서 추상화에 대한 개념을 설명해 봅니다. 자바 프로그램을 작성하다 보면 상속 이후에 사용하지 않는 메소드들이 나타납니다. 아래 예제는 보면 도형이

tsyoon.tistory.com

 

'AP > AP Computer Science A' 카테고리의 다른 글

ArrayList - add(), get(), set(), remove()  (0) 2024.06.04
ArrayList 예제 -2  (0) 2024.06.04
상속에서 생성자와 super 연산  (0) 2024.06.04
상속 예제  (0) 2024.05.31
this와 toString() 메소드  (0) 2024.05.29