[java] 추상 클래스 추상 메소드(abstract method)

추상 클래스

추상 메소드(abstract method)

추상 메소드(abstract method)란 자식 클래스에서 반드시 오버라이딩해야만 사용할 수 있는 메소드를 의미

추상 메소드 문법

abstract 반환타입 메소드이름();

추상 클래스(abstract class)

자바에서는 하나 이상의 추상 메소드를 포함하는 클래스를 가리켜 추상 클래스(abstract class)라고 함

예제
//예제
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 Polymorphism02 {
    public static void main(String[] args) {
        // Animal a = new Animal(); // 추상 클래스는 인스턴스를 생성할 수 없음.
        Cat c = new Cat();
        Dog d = new Dog();
 
        c.cry();
        d.cry();
    }
}

//실행 결과
냐옹냐옹!
멍멍!

추상 메소드의 사용 목적

추상 메소드가 포함된 클래스를 상속받는 자식클래스가 반드시 추상 메소드를 구현하도록 하기 위함임