#abstract
자식 클래스가 상속받은 추상 클래스를 완성시켜야한다.
추상클래스를 상속받을려면 무조건 오버라이딩을 해서 완성을 시키던가
아니면 자식 클래스도 추상클래스로 만들어야한다.
추상 메소드도 없는데 클래스를 추상클래스로 바꾸는 이유=> 객체 생성 못시키게 할려고
package com.abst;
//abstract class(추상 클래스): 클래스 내부에 추상 메소드가 있음. 미완성 클래스. 키워드
abstract를 붙여줌, 객체 생성 안됨
abstract class MyAbstract{
//메소드 바디가 없는 메소드를 abstract method(추상 메소드), 미완성의 메소드, 키워드 abstract를 붙여줌
public abstract void run();
//concrete method(구상메소드): 바디가 있는 메소드.
public void stop() {
System.out.println("stop ! ");
}
}
//자식 클래스에서 상속 받은 후에 부모가 가지고있던 추상메소드를 완성(구현)시켜야 함.
class MyAbstractChild extends MyAbstract{ //MyAbstractChild는 MyAbstract 타입이다.
@Override //추상 메소드를 재정의 해야한다.
public void run() {
System.out.println("run run ~");
}
}
public class AbstractTest {
public static void main(String[] args) {
MyAbstractChild mc = new MyAbstractChild();
mc.run();
}
}
'JAVA > JAVA 기본 문법' 카테고리의 다른 글
[JAVA]- instance of 연산자 (0) | 2019.01.20 |
---|---|
[JAVA]-interface (0) | 2019.01.20 |
[JAVA]- static (0) | 2019.01.19 |
[JAVA]- final (0) | 2019.01.19 |
[JAVA]-Java Reference Type Casting (0) | 2019.01.19 |