<aside> 💡 abstract

</aside>

추상클래스

추상 클래스는 기존 클래스와 완전히 같다.

다만 new AbstractAnimal() 와 같이 직접 인스턴스를 생성하지 못하는 제약이 추가된 것이다.

abstract class AbstractAnimal {...}

추상메서드

추상 메서드는 이름 그대로 추상적인 개념을 제공하는 메서드이다.

따라서 실체가 존재하지 않고,메서드 바디가 없다

public abstract void sound();

추상 메서드가 하나라도 있는 클래스는 추상 클래스로 선언해야 한다.

Untitled

추상 메서드는 상속 받는 자식 클래스가 반드시 오버라이딩 해서 사용해야 한다

Untitled

순수 추상 클래스: 모든 메서드가 추상 메서드인 추상 클래스

Untitled

Untitled

이런 순수 추상 클래스의 개념은 프로그래밍에서 매우 자주 사용된다.

자바는 순수 추상 클래스를 더 편리하게 사용할수 있도록 인터페이스라는 개념을 제공한다