자바에서 abstract라고 하면 추상메서드와 추상클래스가 떠오른다..!
추상 메서드란 선언만 되어 있는 메서드를 뜻하는데요
아래의 예로
// 추상메서드
public abstract String getName ();
// 추상메서드 x
public abstract String getName () {
return "hello";
};
추상 클래스를 상속받은 클래스는 추상클래스 안에 있는 모든 추상 메서드를 구현해야만한다!
public class abstract {
// 인터페이스
interface human {
abstract public void eat(int food)
}
abstract class cat {
public void eat(int food){
// todo 기능구현, 함수를 완성해주세요~~
}
abstract public void love(String who);
abstract public void coding();
}
class robot extends cat {
@Override
public void love(String who){
// todo 기능구현, 함수를 완성해주세요~~
}
@Override
public void coding(){
// todo 기능구현, 함수를 완성해주세요~~
}
}
public static void main(String[] args){
cat a = new cat();
robot r = new robot();
}
}
추상 메서드는 @Override사용
추상 클래스는 인스턴스 생성을 할 수 없다!
생성 하고 싶으면 상속받은 class를 사용!