추상 클래스(Abstract Class)
📌 추상 클래스(Abstract Class)
: 하나 이상의 추상 메소드를 갖는 클래스.
💡 추상 메소드(Abstract Methods)
: 메소드의 몸체가 비어 있는 메소드.
📌 추상 클래스 대상으로 인스턴스 생성 불가능.
다른 클래스에 의해 추상 메소드가 구현되어야 함.
📄 Subject.java
package prac_abstract_class;
public abstract class Subject { // 추상 클래스
public void printTestDate(String sub, int d) {
System.out.println(sub + " Test : " + d);
}
public abstract void printTime(); // 추상 메소드.
public abstract void printTest(); // 추상 메소드.
}
📄 Kor.java
package prac_abstract_class;
public class Kor extends Subject {
@Override
public void printTime() {
System.out.println("Kor Time : PM 01:00 - PM 03:00");
}
@Override
public void printTest() {
System.out.println("Kor Test Q1. apple -> ?");
}
}
📄 Math.java
package prac_abstract_class;
public class Math extends Subject {
@Override
public void printTime() {
System.out.println("Math Time : AM 09:00 - AM 11:00");
}
@Override
public void printTest() {
System.out.println("Math Test Q1. 1 + 1 = ?");
}
}
📄 SubjectMain.java
package prac_abstract_class;
public class SubjectMain {
public static void main(String[] args) {
// Subject sub = new Subject(); // 추상 클래스는 인스턴스 생성 불가능.
Subject kor = new Kor();
Subject math = new Math();
kor.printTime();
kor.printTestDate("Kor", 221015);
kor.printTest();
System.out.println();
math.printTime();
math.printTestDate("Math", 221015);
math.printTest();
}
}
// Kor Time : PM 01:00 - PM 03:00
// Kor Test : 221015
// Kor Test Q1. apple -> ?
//
// Math Time : AM 09:00 - AM 11:00
// Math Test : 221015
// Math Test Q1. 1 + 1 = ?
'Java > Java' 카테고리의 다른 글
[Java] 인터페이스(interface) (1) | 2022.10.15 |
---|---|
[Java] 템플릿 메서드 (0) | 2022.10.15 |
[Java] 상속 (0) | 2022.10.14 |
[Java] ArrayList (0) | 2022.10.14 |
[Java] 배열(Array) (0) | 2022.10.14 |
댓글