메서드를 정의만 하고 구현하지 않은 형태
abstract class Person {
abstract void printInfo();
}
class Son extends Person {
void printInfo() {
System.out.println("아들입니다.");
}
}
public class myClass {
public static void main(String[] args) {
Son a = new Son();
a.printInfo();
}
}
// 출력
아들입니다.
다른 클래스를 작성할 때 틀을 제공하는 일종의 추상 클래스
인스턴스를 만들 수 없어서 상속 사용
interface Parent {
void printInfo();
}
class Father implements Parent {
public void printInfo() {
System.out.println("아버지입니다.");
}
}
public class myClass {
public static void main(String[] args) {
Father myFather = new Father();
myFather.printInfo();
}
}
// 출력
아버지입니다.