자바
[자바] abstract 추상
j9972
2022. 8. 5. 11:31
728x90
abstract 추상
abstract이 있는 메소드, 클래스는 직접적 사용할 수 없고, 상속을 통해서만 사용하도록 강제하는 것이다.
abstract은 미완성의 의미를 갖는다 . 메서드의 선언부만 작성하고 수행내용은 구현하지 않은 추상 메서드를 선언하는데 사용 ( 클래스, 메서드 )
기본 코드
abstract class AbstractTest {
abstract void move();
}
// 추상클래스 ( 추상메서드가 아닌 메서드가 있을 수 있다. )
abstract class A {
public abstract int b(); // 추상 메서드
public abstract int c(){System.out.println("heelo")}; // 에러 - 구현부가 있기에
public void d() {
System.out.println("world"):
}
}
class B extends A {
public int b() { // 오버라이딩 필수
return 1;
}
}
public class AbstractDemo{
public static void main(String[] args) {
// A obj = new A(); 이러면 에러가 난다
B obj = new B();
}
}