추상 클래스와 정적 선언


추상(abstract) 클래스 안에서는 정적(static) 선언을 할 수 없습니다.

클래스의 추상는 내부에 기능이 구현되지 않은 추상 메소드를 포함합니다. 따라서 자체적으로 인스턴스를 생성할 수 없고 반드시 상속을 통하여 추상메서드를 오버라이드(재구현) 해주어야 합니다.

하지만, 정적(static)의 개념은 실제 인스턴스가 생성되지 안아도 클래스만으로 사용할 수 있는 기능입니다.

추상 과 정적은 서로 모순된 관계를 가지고 있어서, 추상클래스 안에서는 정적 선언을 할 수 없습니다.


재정의


abstract라는 키워드는 하위 클래스에서 재정의가 필요한 것을 의미 합니다.

정적 오버라이드의 한계


추상클래스의 추상메소드는 상속받은 하위 클래스에서 실제 기능을 오버라이드 합니다.

하지만, 정적 메소드는 하위 클래스에서 재정의할 수 없으므로 추상클래스 안에 작성을 하는 것은 의미가 없습니다.

또한 추상 클래스의 정적 메서드는 재정의 클래스가 아닌 해당 클래스에 속하므로 어쨌든 사용할 수 없었습니다.