
1. 추상클래스의 이해
추상적으로 정의해 놓을테니(선언해 놓을테니), 객체를 사용할 사용자가 꼭 재정의(overriding) 하시라!
자바프로그램에서도 부모 클래스에서 자식 클래스에게 메소드를 강제로 재정의(override)하게 할 수 있다. 이러한 방법으로 만들어진 클래스를 '추상 클래스'라고 한다.
2. 추상클래스의 문법
(* 추상메소드에서는 정의만 한다. 구현하지 않는다.)
(1) 문법
abstract(추상클래스 및 추상 메소드를 선언하는 예약어)이용
public abstract class ClassName {
…
}
(2) 추상클래스에는 하나 이상의 추상 메소드가 포함된다. 추상 메소드는 정의만 하고 구현은 하지 않는다.
(3) 추상 메소드에는 메소드의 선언부만 있고, 실행부(구현부, body)는 없다.
abstract 리턴타입 methodName([매개변수])
(4) 추상 클래스에서는 메소드 선언만 하고 실제로 구현은 상속받는 클래스에서 한다.
기능은 자식 클래스에게 위임 - 추상클래서에서 정의된 추상적인 기능은 하위 클래스에서 상세 구현한다.
(5) 클래스의 프레임만 구성한다. 직접 객체 생성은 불가능하다. (abstract는 인스턴스화를 금지하는 키워드)
'Archive > Java' 카테고리의 다른 글
| [자바] 패턴을 통한 객체지향 언어의 이해 (0) | 2021.05.26 |
|---|---|
| [자바] 인터페이스 interface (0) | 2021.05.21 |
| [자바] 상속 inheritance (0) | 2021.05.21 |
| [자바] 패키지 package (0) | 2021.05.21 |
| [자바] 접근제한의 종류와 static (0) | 2021.05.21 |