📢 추상 클래스?
- 완전한 클래스가 아닌 미완성 클래스.
- 하나 이상의 추상 메서드를 포함할 수 있으며, 이 메서드는 구현이 없는 메서드이다.
- 추상 클래스를 직접 인스턴스화할 수는 없으며, 반드시 하위 클래스에서 추상 메서드를 구현해야 객체를 생성할 수 있다.
📢 추상 메서드?
- 메서드의 선언부만 존재하고, 본체(구현)는 없다. 하위 클래스에서 반드시 구현해야 함.
abstract public void howl();
📢 실습
abstract class Animal1 {
protected String name;
protected String category;
public void printInfo() {
System.out.println(name + "(" + category + ")");
}
abstract public void howl(); // 추상 메서드
}
class Dog1 extends Animal1 {
private String eat; // 먹이 종류
public Dog1(String name, String category) {
super.name = name;
super.category = category;
}
@Override
public void howl() {
System.out.println("울음소리 > 멍멍~!!");
}
public void eating(String eat) {
this.eat = eat;
System.out.println(name + "는 " + eat + "를 좋아합니다.");
}
}
public class Abstract01 {
public static void main(String[] args) {
Dog1 d = new Dog1("뚱띠", "개과");
d.printInfo();
d.howl();
d.eating("닭고기");
}
}
구성 요소: 추상 클래스는 멤버 변수, 상수(final), 일반 메서드, 추상 메서드로 구성될 수 있습니다.
상속: 추상 클래스는 주로 상속을 위해 사용되며, 하위 클래스에서 추상 메서드를 반드시 구현해야 합니다.
추상 클래스를 통해 코드의 뼈대를 세우고, 하위 클래스에서 생동감을 불어넣어
유연하면서도 강력한 설계를 구현할 수 있다!
'백엔드 > Java' 카테고리의 다른 글
| Java로 상품 관리 시스템 구현(2) (0) | 2024.10.10 |
|---|---|
| Java로 상품 관리 시스템 구현(1) (0) | 2024.10.08 |
| Java 상속(Extends) (2) | 2024.10.07 |
| Java로 학생 정보 관리 시스템 구현(2) (1) | 2024.10.07 |
| Java로 학생 정보 관리 시스템 구현(1) (2) | 2024.10.02 |