의문점 공부하기/📌 Java

📌 추상 클래스에서 추상 메서드는 필수적인가?

아리빠 2023. 6. 14. 16:15

▶먼저 추상 클래스란?

 

자바에서 하나 이상의 추상 메서드를 포함하는 클래스를 뜻한다

추상 메서드란 메서드의 선언부만 존재하고 중괄호 {} 가 없는 메서드로, 해당 메서드를 포함한 추상 클래스를 상속받는 자식 클래스에서 반드시 구현해야 한다

추상클래스를 선언할 때는 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는 메소드를 오버라이딩한다는 것을 나타내는 어노테이션
    // 추상 메소드의 구현
  }
}

 

 

추상 클래스는 하나 이상의 추상 메소드를 포함하는 클래스이며, 추상 메소드는 자식 클래스에서 반드시 구현해야 하는 메소드..!

추상 클래스를 상속받는 자식 클래스에서는 추상 메소드를 반드시 구현해야 하므로, 해당 메소드를 사용할 때 일관성을 유지할 수 있다

 

▶ 따라서 추상 클래스에서 추상 메서드는 필수적이다..!