추상 클래스

2024. 4. 16. 17:32Java

추상 클래스

- abstract 키워드로 사용

- 확장만을 위한 용도로 정의되는 클래스

- 일반 메소드를 가질 수 있음

- 객체화 할 수 없음

 

추상 메소드

- 메소드에 대한 구현을 갖지 않음

- 추상 클래스의 자식 클래스가 해당 메소드를 구현하도록 강요하기 위함

- 추상 메소드는 추상 클래스 안에만 존재 가능

//추상 클래스
abstract public class Shape implements Drawable {
	//추상 메소드
    public abstract double calculateArea();
}
public class Triangle extends Shape implements Drawable{
    private double base;
    private double height;

    public Triangle(double base, double height) {
        this.base = base;
        this.height = height;
    }

    @Override
    public double calculateArea() {
        return base * height / 2;
    }

    @Override
    public void draw() {
        System.out.println("세모를 그립니다.");
    }
}
public class ShapeDemo {
    public static void main(String[] args) {
        Shape triangle = new Triangle(10, 5);
        System.out.println("삼각형의 너비: " + triangle.calculateArea());
}

'Java' 카테고리의 다른 글

예외처리(Exception)  (1) 2024.04.16
인터페이스(Interface)  (0) 2024.04.16
클래스 생성 및 인스턴스화  (0) 2024.03.26
접근제한자  (0) 2024.03.26
final 키워드  (0) 2024.03.26