클래스와 메서드를 수정할 수 있는 추상 수정자
1. 추상 수정자 클래스는 이 클래스를 추상 클래스로 만듭니다. 이 클래스는 객체 인스턴스를 생성할 수 없지만, 객체 변수로 선언되는 타입으로 사용할 수 있습니다. 즉, 컴파일 시 타입입니다. 추상 클래스는 클래스의 반완성된 산물과 같아서 서브클래스에 의해 상속되어야 하고 추상 메서드를 덮어써야 합니다.
2. 추상 수정 방법은 이 방법을 추상적 방법으로 만듭니다. 즉, 구현 없이 선언(정의)만 존재하며, 구현 부분은 "; 대신. 서브클래스 상속 구현(오버라이드)이 필요합니다.
참고: 추상 메서드를 가진 클래스는 반드시 추상 클래스여야 합니다. 하지만 추상 클래스가 반드시 모든 추상 메서드일 필요는 없으며, 구체적인 메서드일 수도 있습니다.
클래스를 수정할 때 추상적 수정자를 클래스 이름에 반드시 포함해야 합니다.
추상 수정 방법은 하위 클래스가 이 방법을 덮어쓰도록 요구합니다. 서브클래스는 다형성적으로 호출되어 메서드를 덮어쓰거나 구현할 수 있는데, 즉 추상 메서드는 반드시 그 서브클래스 내에서 구현되어야 하며, 서브클래스 자체도 추상 클래스인 경우는 예외입니다.
참고: 부모 클래스는 추상 클래스이며, 그 안에 추상 메서드가 존재하므로, 서브클래스는 부모 클래스를 상속하고 부모 클래스의 모든 추상 메서드를 구현(오버라이드)하여 서브클래스가 객체 인스턴스를 생성할 수 있도록 합니다. 그렇지 않으면 서브클래스도 추상 클래스여야 합니다. 추상 클래스에는 구성 메서드가 있을 수 있는데, 이는 서브클래스가 서브클래스 객체를 구성할 때 호출해야 하는 부모 클래스(추상 클래스)의 구성 메서드입니다. 다음은 추상 클래스의 간단한 예시입니다 추상 클래스 E{ 공공 추상 공허 쇼(); 공개 초록은 생략할 수 있습니다
} 그리고 다른 클래스들이 상속받으면 보통 그 안에 있는 메서드를 구현하기 위해 사용됩니다 클래스 F는 E{를 확장한다 Void Show(){ 특정 구현체에 맞는 코드를 작성하세요
}
} 마지막으로, 메인 메서드에서 자식 객체를 가리키는 부모 참조가 정의되어 있다면, 다음과 같은 다형성이 발생합니다. E e=새 F(); e.show(); 서브클래스의 show() 메서드는 실제로 호출됩니다
|