[Java] 추상 클래스

이다혜·2023년 10월 23일
0

Java

목록 보기
5/23
post-thumbnail

📌 추상 메소드(abstract method)란?

  • 자식 클래스에서 반드시 오버라이딩 해야하는 메소드

사용하는 이유

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

문법

선언부만 있고 구현부는 없어야 한다.

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

📌 추상 클래스(abstract class)

  • 하나 이상의 추상 메소드를 포함하는 클래스
  • 인스턴스를 생성할 수 없다.
  • 생성자와 필드, 일반 메소드도 포함할 수 있다.

문법

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

예제

public class Main {
    public static void main(String[] args) {
        double d1 = 5;

        무기 a무기 = new();
        a무기.공격();
        // 출력 : 칼로 공격합니다.
    }
}

abstract class 무기 {
    abstract void 공격(); // abstract : 리모콘 버튼용
}

classextends 무기 {
    void 공격() {
        System.out.println("칼로 공격합니다.");
    }
}

-> a무기는 무기 클래스 타입이지만, 실제로 참조하고 있는 객체는 칼 클래스 타입이기 때문에 칼 클래스의 공격 메소드를 실행한다.

0개의 댓글