- 선언 시
abstract
키워드를 사용한다.- 주로 클래스의 기본형(청사진)을 만들기 위해 사용한다.
1) 추상 메소드
- 추상 메소드는 선언만 되어있고 구현은 되어있지 않은 메소드이다.
- 반드시 하위 클래스에서 오버라이딩을 통해 추상 메소드를 구현해야 한다.
2) 추상 클래스
- 추상 클래스는 하나 이상의 추상 메소드를 포함하거나 abstract 키워드로 선언된 클래스이다.
- 인스턴스를 생성할 수 없다.
- 추상 메소드가 존재하지 않아도 추상 클래스로 선언할 수 있지만, 추상 메소드가 하나라도 존재한다면 반드시 추상 클래스로 선언해야 한다.
- 자식 클래스가 부모 클래스의 추상 메소드를 구현할 수 없는 경우, 자식 클래스를 추상 클래스로 만든 후 다음 단계의 자식 클래스에서 구현해야 한다.
3) 추상 메소드, 추상 클래스 예시
// 🟢 Animal Class
package lesson05.ex01;
public abstract class Animal {
public abstract void cry();
}
// 🟢 Cat Class
package lesson05.ex01;
public class Cat extends Animal{
@Override
public void cry() {
System.out.println("야옹");
}
}
// 🟢 AnimalTest Class(Main Class)
package lesson05.ex01;
public class AnimalTest {
public static void main(String[] args) {
Cat cat = new Cat();
cat.cry();
}
}
🔗 https://www.geeksforgeeks.org/abstract-methods-in-java-with-examples
🔗 https://www.geeksforgeeks.org/abstract-classes-in-java