Abstract 제한자는 클래스, 메소드 및 프로퍼티에 대해 사용할 수 있다. 메소드가 abstract로 선언되었다면 해당 클래스에서는 이 메소드를 구현하지 않고 해당 클래스의 파생 클래스가 이 메소드를 구현해야 한다. abstract 메소드는 머리만 있고 몸통이 없는 메소드 이기 때문에 해당 클래스에서는 사용할 수 없다. 클래스 선언에 abstract 제한자를 사용하면 해당 클래스가 다른 클래스의 기본 클래스만 사용됨을 나타낸다. abstract 메소드는 abstract 클래스 안에서만 선언할 수 있고 abstract 클래스는 자기 스스로 객체를 생성하지 못한다. 자신에게서 상속을 받은 클래스만이 객체를 생성할 수 있다. 또한 abstract 메소드는 상속 받은 클래스에서 반드시 구현해야 한다. abs..