인터페이스를 구현하기 위해 추상 클래스를 사용할 때 Java에서 흥미로운 일이 발생합니다. 인터페이스의 메서드 중 일부가 완전히 누락 될 수 있지만 (즉, 추상 선언이나 실제 구현이 존재하지 않음) 컴파일러가 불평하지 않습니다.
예를 들어 다음과 같은 인터페이스가 있습니다.
public interface IAnything {
void m1();
void m2();
void m3();
}
다음 추상 클래스는 경고 나 오류없이 즐겁게 컴파일됩니다.
public abstract class AbstractThing implements IAnything {
public void m1() {}
public void m3() {}
}
이유를 설명해 주시겠습니까?
:w
파일 중 하나 가 아닌 것 같습니다 .