Java

추상 클래스 (Abstract Class)

예요 2024. 7. 1. 19:36

추상 클래스 (Abstract Class)

  • 추상 메소드를 포함하며 상속받는 자식 클래스에서 추상 메소드를 오버라이딩하여 완성하도록 유도하는 클래스이다.
  • abstract 예약어를 사용한다.
  • 인스턴스화가 불가능하다.
  • 추상 클래스를 상속받는 자식 클래스에서는 추상 메소드를 모두 구현해야한다.
  • 다중 상속이 불가능하다.
public abstract class Car {

    public String name;
    public int speed;

    Car(String name, int speed) {
        this.name = name;
        this.speed = speed;
    }

    public abstract void drive();

    public abstract void stop();

}

 

public class Jeep extends Car {

    public boolean isMine;

    Jeep(String name, int speed, boolean isMine) {
        super(name, speed);
        this.isMine = isMine;
    }

    @Override
    public void drive() {
        System.out.println(name + " drive");
    }

    @Override
    public void stop() {
        System.out.println("Jeep speed : " + speed + " and stop");
    }

    public void isMine() {
        System.out.println(name + " is " + (isMine ? "mine" : "not mine"));
    }

}

 

public class AbstractEx {

    public static void main(String[] args) {

        Car jeep = new Jeep("Jeep", 50, true);

        jeep.drive();
        jeep.stop();

        Jeep yourJeep = new Jeep("Your Jeep", 100, false);

        yourJeep.drive();
        yourJeep.stop();
        yourJeep.isMine();

    }

}

 

▷ 출처

https://velog.io/@ung6860/JAVA%EC%B6%94%EC%83%81%ED%81%B4%EB%9E%98%EC%8A%A4%EC%97%90-%EB%8C%80%ED%95%98%EC%97%AC-%EC%95%8C%EC%95%84%EB%B3%B4%EC%9E%90

728x90