추상 클래스

이규은·2021년 10월 5일
0

상속

목록 보기
5/6

하나 이상의 추상 메소드를 포함하는 클래스를 추상 클래스라고 한다. 추상 클래스는 다형성을 가지는 메소드의 집합을 정의할 수 있도록 해준다.

반드시 사용되어야 하는 메소드를 추상 클래스에 추상 메소드로 선언 하면 이 클래스를 상속받는 모든 클래스에서는 이 추상 메소드를 반드시 재정의해야 한다.

abstract class 클래스이름 {
    abstract 반환타입 메소드이름();

}

위와 같은 문법으로 추상 클래스를 선언한다.

abstract class Animal {
    abstract void cry();
}

class Cat extends Animal {
    void cry() {
        System.out.println("냐옹");
    }
}

class Dog extends Animal {
    void cry() {
        System.out.println("멍멍");
    }
}

public class abstractStudy {
    public static void main(String[] args) {
        Cat cat = new Cat();
        Dog dog = new Dog();

        cat.cry();
        dog.cry();
    }
}

결과

Animal 클래스는 추상 메소드인 cry()를 가지고 있다.
Animal 클래스를 상속받는 Dag와 Cat 클래스는 cry()메소드를 오버라이딩해야만 인스턴스를 생성할 수 있다.

profile
안녕하세요

0개의 댓글