✏️ 추상 클래스
- 추상 클래스는 이름 그대로 추상적인 개념을 제공하는 클래스이다.
- 실체인 인스턴스가 존재하지 않고 상속을 목적으로 사용되며 부모클래스 역할을 한다.
- 실제 생성되면 안되는 클래스를 추상 클래스라고 한다.
abstract class Aminal{...}
-
추상 클래스는 클래스를 선언할 때 앞에 추상이라는 의마의 abstract 키워드를 붙여주면 된다.
-
추상 클래스는 기존 클래스와 완전히 같다. 다만 new Animal() 와 같이 직접 인스턴스를 생성하지 못하는 제약이 추가된 것이다.
✏️ 추상 메서드
-
부모 클래스를 상속 받는 자식 클래스가 반드시 오버라이딩 해야하는 메서드를 부모 클래스에서 정의하는 메서드이다.
-
추상 메스드는 이름 그대로 추상적인 개념을 제공하는 메서드이다. 따라서 실체가 존재하지 않고, 메서드 바디가 없다.
public abstract void sound();
- 추상 메서드는 선언할 때 메서드 앞에 추상이라는 의미의 abstract 키워드를 붙여주면 된다.
- 추상 메서드가 하나라도 있는 클래스는 추상 클래스로 선언해야 한다!
- 추상 메서드는 상속 받는 자식 클래스가 반드시 오버라이딩 해서 사용해야 한다!
- 추상 메서드는 기존 메서드와 완전히 같다. 다만 메서드 바디가 없고, 자식 클래스가 해당 메서드를 반드시 오버라이딩 해야 한다는 제약이 추가된 것이다.