loading
본문 바로가기
Language/Java

[ Java ] 09. 추상 클래스 ( abstract class )

by NeuLyeo 2023. 11. 9.

[ Java ] 09. 추상 클래스 ( abstract class )


 

 

📚 Table of Contents

     

     

     

     

     

    01. 추상 클래스 (abstract class)

     

    추상 클래스(Abstract Class)는 추상 메서드를 선언해 놓고

    상속을 통해 자식 클래스에서 메서드를 완성하도록 유도하는 클래스이다.

     

    이러한 특성 탓에 미완성 설계도라고 표현하기도 한다.

     

    실체클래스의 공통적인 부분( 변수, 메서드 )을 추출해서 선언한 클래스이다.

     

    실체가 없고 구체적이지 않기 때문에 추상클래스는 객체를 생성할 수 없다.

     

    추상클래스와 실체클래스는 상속관계이다.

     

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

     

     

    추상 클래스는 추상 메서드를 가지지 않아도 괜찮다.

     

    다만, 추상 메서드를 하나라도 가진다면 그 클래스는 추상 클래스가 된다.

     

    추상 메서드를 선언했다면 자식 클래스는 해당 메서드를 반드시 구현하도록 강제된다.

     

    또한 JAVA는 다중 상속을 지원하지 않기 때문에 여러 개의 추상 클래스를 상속할 수 없다.

     

     

     

    추상클래스 사용 목적

     

    1. 공통된 필드와 메서드를 통일할 목적
    2. 실체클래스 구현시, 시간절약
    3. 규격에 맞는 실체클래스 구현

     

     

     

     

     

    02. 추상 메소드

     

    추상클래스를 상속받은 자식클래스에서 반드시 오버라이딩 해야 하는 메서드이다.

     

    추상클래스에서 추상메서드는 선언만 하고 구현 내용이 없다.

     

    상속받은 자식클래스에서 구현해야 한다.

     

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