▶먼저 추상 클래스란?
자바에서 하나 이상의 추상 메서드를 포함하는 클래스를 뜻한다
추상 메서드란 메서드의 선언부만 존재하고 중괄호 {} 가 없는 메서드로, 해당 메서드를 포함한 추상 클래스를 상속받는 자식 클래스에서 반드시 구현해야 한다
추상클래스를 선언할 때는 abstract 키워드가 붙어야한다
추상 클래스를 사용하는 이유는 객체 지향 프로그래밍에서 중요한 특징인 다형성을 가지는 메소드의 집합을 정의 할 수 있도록 해주기 때문이다
추상 클래스를 상속받는 자식 클래스들은 추상 메서드를 반드시 구현해야 하므로, 해당 메서드를 사용할 때 일관성을 유지할 수 있다
추상 클래스를 상속받는 자식 클래스들은 공통적으로 필요한 메서드들을 추상 클래스에 미리 정의 해놓을 수 있으므로 코드 재사용성이 높아진다
▶추상 클래스의 특징
- 추상 클래스는 객체를 직접 생성할 수 없다
- 추상 클래스는 추상 메소드, 일반 메소드, 필드(멤버 변수), 생성자로 구성
- 일반적인 상속의 특성과 동일하며, extends 키워드를 이용해 상속하고, 단일 상속만 가능
public abstract class AbstractClass { //AbstractClass추상 클래스
public abstract void abstractMethod(); //abstractMethod 추상 메서드
public void normalMethod() {
// 일반 메소드의 구현, 추상클래스에서 구현된 메서드
}
}
------------------------------------------------
public class ChildClass extends AbstractClass{//ChildClass는 AbstractClass를 상속받는 자식 클래스
@Override
public void abstractMethod() {abstractMethod() 를 오버라이딩하여 구현, @Override는 메소드를 오버라이딩한다는 것을 나타내는 어노테이션
// 추상 메소드의 구현
}
}
추상 클래스는 하나 이상의 추상 메소드를 포함하는 클래스이며, 추상 메소드는 자식 클래스에서 반드시 구현해야 하는 메소드..!
추상 클래스를 상속받는 자식 클래스에서는 추상 메소드를 반드시 구현해야 하므로, 해당 메소드를 사용할 때 일관성을 유지할 수 있다
▶ 따라서 추상 클래스에서 추상 메서드는 필수적이다..!
'의문점 공부하기 > 📌 Java' 카테고리의 다른 글
📌 보통의 클래스와 추상 클래스의 차이는 뭘까? (0) | 2023.06.15 |
---|---|
📌 인터페이스는 객체 사용 규칙을 정의한다 (0) | 2023.06.15 |
📌 String 클래스의 일반적인 메서드는 무엇이 있을까? (2) | 2023.06.13 |
📌 String str ="i"와 String str = new String("i")가 동일 할까? (0) | 2023.06.12 |
📌 문자열을 반전시키는 가장 좋은 방법은 무엇일까? (0) | 2023.06.09 |