공통된 특성과 기능을 정의하는 것입니다. 추상 클래스는 직접 인스턴스화하지 못합니다.
abstract 제어자를 이용하여 추상화를 만듭니다.
추상 클래스의 특징
- 공통된 특성 : 서로 다른 클래스들이 가지는 공통된 특성과 기능을 하나로 묶어 추출합니다. 일반 메서드와 추상 메서드를 정의할 수 있습니다.
- 추상 메서드 : 구현 내용이 없는 메서드로 하위 클래스에서 반드시 오버라이딩하여 구현해야 합니다.
- 인스턴스화 : 추상클래스는 직접 인스턴스화를 할 수 없습니다. 추상 클래스를 상속한 하위 클래스로 객체를 생성해야 합니다.
추상클래스 예제
abstract class Animal {
String type;
abstract void makeSound();
void getType() {
System.out.println(this.type);
}
}
class Dog extends Animal {
Dog(String name) {
super.type = name;
}
@Override
void makeSound() {
System.out.println("멍멍");
}
}
public class Main {
public static void main(String[] args) {
Animal animal = new Dog("dog");
animal.getType(); // dog
animal.makeSound(); // 멍멍
}
}
'JAVA > 객체 지향 프로그래밍' 카테고리의 다른 글
[JAVA] 캡슐화 (0) | 2023.08.20 |
---|---|
[JAVA] 인터페이스 (0) | 2023.08.20 |
[JAVA] 업캐스팅 & 다운캐스팅 (0) | 2023.08.19 |
[JAVA] 다형성이란 (0) | 2023.08.19 |
[JAVA] 메서드 오버라이딩 조건 (0) | 2023.08.18 |