🌎 Web/Java

[Java] 추상 클래스

오늘 ONEUL 2022. 12. 7. 11:58

07 상속

07-3 추상 클래스

추상 클래스란?

  • 여러 클래스의 공통된 특성(필드, 메소드)를 추출해서 선언한 것을 추상클래스라고 한다.
  • 추상 클래스와 실체 클래스는 부모, 자식 클래스로서 상속관계를 가진다.

 

추상 클래스의 용도

  • 공통된 필드와 메소드의 이름을 통일할 목적
  • 실체 클래스를 작성할 때 시간 절약
  • 추상 클래스는 실체 클래스의 설계 규격 → 객체 생성용 X

 

추상 클래스 선언

  • abstract 키워드를 이용하여 선언한다.
  • new 연산자로 객체를 생성할 수 없고, 상속을 통해 자식 클래스만 만들 수 있다.
public abstract class 클래스 {
	// 필드
	// 생성자 -> 자식 객체가 생성될때 super(...)로 호출
	// 메소드
}

 

추상 메소드와 재정의

  • 메소드 선언만 통일하고 실행 내용은 실체 클래스마다 달라야 하는 경우, 실행 내용을 채우도록 강제하려면 추상 메소드를 사용한다.
  • abstract 키워드로 선언되고 중괄호가 없다.
  • 하위 클래스는 반드시 재정의해서 실행 내용을 채워야 한다.
public abstract class Animal {
	public abstract void sound();
}

 

 

마무리 핵심 키워드

  • 추상 클래스: 클래스들의 공통적인 필드와 메소드를 추출해서 선언한 클래스를 말한다.
  • 추상 메소드: 추상 클래스에서만 선언할 수 있고, 메소드의 선언부만 있는 메소드를 말한다. 추상 메소드는 자식 클래스에서 재정의되어 실행 내용을 결정해야 한다.

 

 

 

※ 이 내용은 책 [혼자 공부하는 자바]를 보고 정리한 내용입니다.