추상클래스(abstract method)
- 객체를 생성할 수 있는 클래스를 실체 클래스라고 한다면, 이 클래스들의 공통적인 필드나 메소드를 추출해서 선언한 클래스를 추상 클래스라고 합니다.
- 추상 클래스는 실체 클래스의 부모 역할을 합니다.
- 자식 클래스에서 반드시 오버라이딩해야만 사용할 수 있는 메소드입니다.
1. extends 뒤에만 올 수 있습니다.
Class Dog extends Animal {
...
}
2. new연산자를 사용해서 객체를 직접 생성할 수 없습니다.
Animal animal = new Animal(); //XX
3. new연산자를 이용해서 객체를 직접 만들지 못하고 상속을 통해 자식 클래스만 만들 수 있습니다.
pulic abstract class 클래스명 {
//필드
//생성자
//메소드
}
4. 추상 클래스도 필드, 메소드를 선언할 수 있습니다.
자식 객체가 생성될 때 super()로 추상 클래스의 생성자가 호출되기 때문에 생성자도 반드시 있어야 합니다.
public abstract class Bottle {
//필드 선언
String water;
//생성자 선언
Bottle(String water) {
this.water = water;
}
//메소드 선언
void open() {
System.out.println("뚜껑을 엽니다.");
}
void close() {
System.out.println("뚜겅을 닫습니다.");
}
}
public class WaterBottle wxtends Bottle {
//생성자 선언
SaterBottle(String water) {
//Water 생성자 호출
super(water);
}
//메소드 선ㄴ언
void drink() {
System.out.println("물을 마시다.");
}
}
반응형
'JAVA > Information' 카테고리의 다른 글
[JSP] 내부 객체란? request, session, application? (0) | 2023.09.27 |
---|---|
[JSP] Servlet구조와 HTTP 상태 코드 총 정리‼️ (1) | 2023.09.20 |
[JAVA] 자바 소켓(Socket)통신 이란? 개념 정리 (2) | 2023.07.31 |
[JAVA] 자바의 메소드(Method)란? 오버로딩(Overloading)이란? (0) | 2023.07.10 |
[JAVA] 자바 언어의 장단점 및 특징 (2) | 2023.05.09 |