선언부만 있고 구현부는 없는 메서드
public abstract class SampleAbstractParent {
void method(){
//일반적인 메서드
}
//추상 메서드 : 선언부만 있고 구현부는 없는 메서드
abstract void abstractMethod();
}
class SampleAbstractChild extends SampleAbstractParent{
//추상 클래스가 되거나
//추상 메서드에 내용이 되어야 한다.
@Override //상속받은 내용을 변경한다.
void abstractMethod() {
System.out.println("추상 메서드를 상속받아 내용을 만들어줌.");
}
}
public interface SampleInterface {
//인터페이스의 모든 멤버변수는 public static final 제어자를 사용해야한다.
public static final int NUM1 = 1;
//모든 멤버변수의 제어자가 같기 때문에 생략이 가능하다.
int NUM2 = 2;
//인터페이스의 모든 메서드는 public abstract 제어자를 사용해야한다.
public abstract void method1();
//모든 메서드의 제어자가 같기 때문에 생략이 가능하다.
void method2();
}
class SampleImplement implements SampleInterface, SampleInterface2 {
//인터페이스를 상속받을 때는 implements
@Override
public void method1() {
}
@Override
public void method2() {
}
@Override
public void method3() {
}
}
interface SampleInterface2{
void method1();
void method3();
}