#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

+ Recent posts