728x90
반응형
추상 클래스 (abstract class)
- 추상 메서드를 가지고 있는 클래스
- 추상 클래스 내부에는 완성되지 않은 메서드가 들어있으므로 인스턴스를 생성할 수 없다.
추상 메서드 (abstract method)
- 선언만 해놓고 구현은 상속받은 자식들에게 미루는 메서드
- 오버라이드를 위한 메서드
- 자식 클래스에게 오버라이드를 강제하는 효과가 있다.
import myobj2.DataScienceStudent;
import myobj2.Student;
public class C16_AbstractClass {
public static void main(String[] args) {
Student s = new DataScienceStudent();
// 반드시 오버라이드 해야하는 메서드를 쉽게 눈치챌 수 있다.
Student s2 = new Student() {
@Override
public void info() {
System.out.println("즉석에서 상속받아 구현해버린 학생입니다.");
}
};
s.info();
s2.info();
}
}
package myobj2;
// 클래스 내부에 abstract 메서드가 하나라도 있으면
// abstract class라고 표시해야 한다.
public abstract class Student {
// abstract 메서드는 body를 만들 수 없다.
public abstract void info();
}
package myobj2;
public class DataScienceStudent extends Student {
@Override
public void info() {
System.out.println("데이터 분석을 배우는 학생입니다.");
}
}
728x90
반응형
'JAVA > 기본 이론' 카테고리의 다른 글
JAVA | ArrayList (0) | 2023.04.01 |
---|---|
JAVA | 인터페이스(Interface) (0) | 2023.04.01 |
JAVA | final (0) | 2023.04.01 |
JAVA | 인스턴스 생명 주기(Instance Life Cycle) (0) | 2023.04.01 |
JAVA | 지역 내부 클래스(Local Inner Class) (0) | 2023.04.01 |