본문 바로가기

Programming/JAVA

자바의 추상 클래스

1. 추상 클래스

: 객체를 직접 생성할 수 있는 클래스를 실체 클래스라고 한다면 추상 클래스는 이 클래스들의 공통적인 특성을 추출해서 선언한 클래스를의미한다.

 

 

추상 클래스는 실체 클래스의 공통되는 필드와 메소드를 추출해서 만들었기 때문에 객체를 직접 생성해서 사용할 수 없다. 즉, 추상 클래스는 new 연산자를 사용해서 인스턴스를 생성시키지 못한다.

Animal animal = new Animal();	//	(X)

 

*추상 클래스는 실체 클래스를 만들기 위해 부모 클래스로만 사용된다. (extends 뒤에만 올 수 있는 클래스)

class Ant extends Animal { ... }	// (O)

 

 

※실체 클래스들의 공통적인 특성을 뽑아 추상 클래스로 만드는 이유?

  1. 실체 클래스들의 공통된 필드와 메소드의 이름을 통일할 목적
  2. 실체 클래스를 작성할 때 시간을 절약하기 위한 목적

 

-추상 클래스 선언

: 추상 클래스를 선언할 때에는 클래스 선언에 abstract 키워드를 붙여야 한다.

public abstract class 클래스 {
	// 필드
	// 생성자
	// 메소드
}

->추상 클래스도 일반 클래스와 마찬가지로 필드, 생성자, 메소드 선언을 할 수 있으며 new 연산자로 직접 생성자를 호출할 수는 없지만 자식 객체가 생성될 때 super(...)를 호출해서 추상 객체를 생상허라므로 추상 클래스도 생성자가 반드시 있어야한다.

 

 

2. 추상 메소드

'Programming > JAVA' 카테고리의 다른 글

자바의 인터페이스  (0) 2020.01.09
자바 상속의 개념  (0) 2020.01.03
자바의 접근 제한자  (0) 2019.12.30
자바의 클래스  (0) 2019.12.27
자바의 참조 타입과 배열  (0) 2019.12.23